Commit Graph

7 Commits (8eb85ad99e6b354f730196932f806d1631f5e3d4)

Author SHA1 Message Date
Gud Boi 8eb85ad99e Add strict clearing schemas and `OrderState`
Introduce frozen, tagged `msgspec.Struct` payloads alongside the
legacy clearing protocol. Separate startup, request, event and
final result phases, with strict directional Tractor receive sets
and local validation before typed objects enter state or transport.

The pure reducer preserves cancel-before-ack intent, correlates
account/request IDs across edits, deduplicates identified fills and
retains bounded terminal dialogs for late events. Snapshot copies
cannot mutate previously published requests or statuses.

Also,
- require owned accounts, positions and an open-order completion
  barrier before a backend session accepts requests;
- refresh the migration plan against current Piker and Tractor
  branches, preserving the installed dependency pin;
- add 65 offline schema/state/phase tests and eight real actor
  tests for typed traffic, rejection, race handling and bounded
  teardown.
- include AGPL headers and apply the Python style guide across
  protocol code and qualification fixtures.

Ruff and all 73 targeted tests pass on installed Tractor
`5c98ab1f`. Eight IPC tests also pass against local main `5cb600a8`
with its pytest plugin isolated from Piker's duplicate `--ll`
option. Production paper/live adapters and EMS/UI consumers migrate
in subsequent paired changes; no existing endpoint switches here.

(this patch was generated in some part by `codex` using
`gpt-6` (`openai`))
2026-10-05 04:00:45 -04:00
Gud Boi 5f631e1996 Plan repository-wide branch landing order
Audit every retained worktree, branch family, rebased patch, stash,
and unreachable commit against `main`.

Deats,
- factor useful histories into dependency-ordered PR lanes;
- reduce the DPI branch swarm to one five-commit patch set;
- separate runtime, datad, backfill and chart ownership work;
- record deferred patches and post-landing stale-ref cleanup;
- attach Prompt-IO provenance for the generated audit plan.

Prompt-IO: ai/prompt-io/opencode/20260818T064340Z_09ddcf50_prompt_io.md

(this patch was generated in some part by `opencode` using `gpt-5.6-sol` (`openai`))
2026-08-18 12:47:30 -04:00
Gud Boi 09ddcf5055 Plan `pytest-qt` chart UI audit layers
Distill the gap-overlay E2E findings into a staged audit plan for
the full PyQtGraph iface. Keep Qt and graphics real while replacing
feeds, services and provider search with deterministic seams.

Deats,
- define the headless PyQt6 env and pytest-qt fixture ownership;
- layer primitive, input, SHM, full-window and actor checks;
- guard window SIGINT, provider search and overlapping symbol boot;
- require signal/postcondition waits and lifecycle leak assertions;
- split reviewable PRs before distilling a repo-local UI skill.

(this patch was generated in some part by `opencode` using `gpt-5.6-sol` (`openai`))
2026-08-17 19:55:26 -04:00
Gud Boi 335190a4e3 Test gap dialogs through a real `tractor` actor
Schema checks do not exercise ctx discovery, directional decoding,
stream setup, request correlation or endpoint-finally cleanup.

Boot an isolated child actor around `remote_gap_overlays()` and
drive it through `AnnotClient`. Cancel one published request, leave
its reply queued and prove the next request discards that stale
msg.

Also,
- verify generated request IDs and remote-owner cleanup;
- document automated coverage and broker-backed manual boundaries.

Prompt-IO: ai/prompt-io/opencode/20260817T222036Z_f65df6a1_prompt_io.md

(this patch was generated in some part by `opencode` using `gpt-5.6-sol` (`openai`))
2026-08-17 19:11:03 -04:00
Gud Boi f65df6a138 Own gap overlays in chart-local `GapOverlayMngr`
Detect positive timestamp gaps from chart OHLCV SHM with one
vectorized pass. Route local UI and remote callers through one
`GapOverlayMngr` renderer, and key each layer by owner, chart,
FQME and timeframe so remote ctx teardown cannot remove local
graphics.

Deats,
- add tagged `SetGapOverlay` requests and typed
  `GapOverlay` responses;
- keep `remote_annotate()` intact and serve its typed dialog from
  a dedicated `remote_gap_overlays()` Tractor ctx;
- admit `SetGapOverlay`, `GapOverlay`, `list[str]` and `None` in
  the Tractor payload spec, then strictly narrow requests to
  `SetGapOverlay` and replies to `GapOverlay`;
- serialize shared-stream dialogs and correlate request IDs so
  stale replies cannot skew later exchanges;
- rename `AnnotCtl` / `open_annot_ctl()` to `AnnotClient` /
  `open_annot_client()` across storage and annotation callers;
- enable 60s history overlays at startup and toggle the focused
  1s or 60s chart directly with `Ctrl+G`;
- guard redraws by chart, FQME and timeframe; tolerate empty
  arrays and out-of-range lookups; update rect and arrow geometry;
- cover detector geometry, msgpack roundtrips, schema rejection,
  typed stale-FQME errors and renamed storage seams;
- document ownership, refresh, stack landing and live
  qualification.

Prompt-IO: ai/prompt-io/opencode/20260814T032716Z_2aa66c2c_prompt_io.md

(this patch was generated in some part by `opencode` using `gpt-5.6-sol` (`openai`))
2026-08-14 19:03:11 -04:00
Gud Boi 84a6d47b44 Plan known-FQME backfill qualification
- preserve dirty main-tree work while transferring branch ownership
- hold provider, FQME, timeframe, and symptom fixed while debugging
- capture read-only baselines before disposable live runs
- turn each reproduced failure into deterministic coverage
- qualify interruption and restart behavior after the normal lifecycle

(this patch was generated in some part by `opencode` using `gpt-5.6-sol` (`openai`))
2026-07-24 18:33:06 -04:00
Gud Boi 99fb9d2eab Plan gap-checker and backfiller repairs
Lay out a correctness-first path from deterministic regressions
through normalized gap detection, structured backfill completion,
and crash-safe `NativeDB` persistence.

Deats,
- separate checker, storage, provider, and annotation gates
- record confirmed current defects and data invariants
- define commit boundaries and timeout-wrapped verification

Prompt-IO: ai/prompt-io/opencode/20260721T215055Z_c6ec3d41_prompt_io.md

(this patch was generated in some part by `opencode` using `gpt-5.6-sol` (`openai`))
2026-07-24 18:33:06 -04:00