piker/ai/prompt-io/opencode/20260908T215045Z_1a2d4893_p...

180 lines
9.0 KiB
Markdown
Raw Normal View History

---
model: openai/gpt-6-astra
service: opencode
session: null
timestamp: 2026-09-08T21:50:45Z
git_ref: 1a2d4893
scope: code
substantive: true
raw_file: 20260908T215045Z_1a2d4893_prompt_io.raw.md
---
## Prompt
Continue implementation in SAME session/worktree
/home/goodboy/repos/piker/wkts/live_chart_qtractor. User explicitly
says proceed. No ownership takeover needed, no branch creation, no
staging/commits, no ai.skillz changes. Implement minimal prerequisite
fixes before live Kraken tests: inspect current code and fix
start_qtractor merge precedence so explicit caller registry/runtime
kwargs beat global defaults; fix PyQt6 blocking run_qtractor exec_ ->
exec; add focused offline headless lifecycle regressions proving
explicit registry selection despite stale globals and CLI adapter as
feasible. Load py-codestyle, piker-conc-expert, run-tests via tools;
read deployed test harness. Preserve existing comments and user-owned
state. Use apply_patch. Existing staged baseline is committed at
1a2d4893, .gitignore/.ai workflow state unrelated leave untouched. User
prefers typed opaque function returns, no redundant obvious
constructor types, vertical boolean operators, logging exceptions.
Run only targeted headless tests with existing py313 interpreter and
Nix wrapper (already user-authorized in this session); do not run full
suite or public network charts. Do not expand to paper mode or
readiness yet. Return changes/tests, exact remaining blockers, and any
provenance modifications. Persist prompt-io for code per skill with
correct active model identity if known, not invented old model. Keep
minimal.
## Response Summary
Fixed explicit caller kwarg precedence and the PyQt6 blocking API.
Extended real runtime lifecycle coverage and added subprocess-isolated
CLI adapter success/error regressions. Focused tests passed 3/3;
combined UI isolation and lifecycle tests passed 5/5, with only two
existing Tractor deprecation warnings per run.
## Files Changed
- `piker/ui/_exec.py`: merge order and `QApplication.exec()`.
- `tests/ui/test_qtractor.py`: stale-global and blocking regressions.
- This log and its raw companion: prompt and generated-output record.
Existing provenance entries and the service README are unchanged.
Unrelated `.gitignore` and `.ai` state are unchanged. No staging,
commits, branch creation, or ai.skillz changes were performed.
The active harness did not expose a session UUID; it is not invented.
## Human Edits
The human identified both prerequisite defects, selected this existing
worktree, restricted implementation to minimal offline coverage, and
specified code style, test environment, provenance identity, and
untouched state. These are human-directed agent edits. No direct
manual edits during this turn were observed; acceptance remains with
the human.
## Continuation Prompt: 2026-09-08T21:56:56Z
Implement next minimal safety prerequisite in
/home/goodboy/repos/piker/wkts/live_chart_qtractor. Same session user
authorized continuation. Previous agent modified piker/ui/_exec.py,
tests/ui/test_qtractor.py and added
ai/prompt-io/opencode/20260908T215045Z_1a2d4893_prompt_io.md/.raw.md for
registry precedence and Qt exec fixes. Preserve all those and unrelated
.gitignore/.ai files. No staging, commits, branch/worktree operations
or ai.skillz edits. Task: inspect production chart startup
_app._async_main -> GodWidget/load_symbols/display -> open_order_mode
-> open_ems. Thread a minimal explicit execution mode option so a chart
integration caller can require paper EMS BEFORE any brokerd spawn.
Preserve shipped default live CLI behavior (concrete existing callers).
Prefer one clear existing convention/type and defaults, no
compatibility scaffolding. Also inspect readiness provider search
start_soon: implement minimal nursery.start/task_status handshake if
appropriate to ensure application readiness follows provider search
registration, without arbitrary waits. Load piker-clearing-expert,
piker-conc-expert, py-codestyle, run-tests skills and harness. Tests
must be real structured runtime tests or narrow direct unit tests as
existing conventions permit; do not add interlayer mocking without
asking. Do not run live providers, GUI compositor or full suite. Run
relevant headless tests using existing py313 and already-authorized
nix develop. If prerequisite changes grow too broad or unsafe stop
and report exact tradeoff. Update provenance for your changes
appropriately (same logical prerequisite patch may extend newest entry
without erasing original generation). Return code paths, exact test
evidence, risks and next live chart test requirements.
## Continuation Summary
Added explicit session-wide EMS mode plumbing across `_async_main`,
`GodWidget.load_symbols`, `display_symbol_data`, `open_order_mode`,
and `open_ems`. The existing string convention and live defaults are
preserved. Invalid startup modes fail before widget access. Added the
provider-search Trio startup handshake before application readiness.
New direct unit coverage is in `tests/ui/test_chart_startup.py`.
Combined with existing Qtractor and UI-isolation tests, 9 tests passed
in 2.67s; the separate display/gap-overlay run passed 9 in 2.00s.
Warnings were limited to existing Tractor deprecations. Full forwarding
and provider registration ordering remain live-integration coverage
requirements, not claims of these narrow tests.
This continuation changed four UI production files, added the startup
test file, and appended to this provenance pair. Original generation,
`_exec.py`, `test_qtractor.py`, `.gitignore`, `.ai`, and ai.skillz were
left untouched. No staging or Git history/worktree operations occurred.
## Continuation Human Contributions
The human selected paper execution and search readiness as the next
safety prerequisite, required shipped live defaults, prohibited
interlayer mocking without approval, limited verification to headless
offline tests, and authorized appending this existing provenance pair.
These requirements directed the generated edits. No direct manual
changes during this continuation were observed; acceptance remains
with the human.
## Live Qualification Prompt: 2026-09-08
The human explicitly authorizes public Kraken market data for
xbtusd.spot.kraken, headless integration, isolated registry/config,
and explicit paper execution with no credentials or real orders.
Implement the minimal production live chart test in this same owned
worktree, preserving the uncommitted prerequisites and unrelated
.gitignore/.ai state. No takeover, staging/commit, or ai.skillz edits.
Use the authoritative live-backend roadmap, required concurrency,
clearing, Python style and test-harness skills, and existing py313/Nix
wrapper. Add explicit --live-provider=kraken opt-in; preserve original
selected-run errors. Use production GodWidget and _async_main via
start_qtractor, owned empty broker config, unique reg_addr, inherited
piker_test_dir and isolated settings. Record paper/no-brokerd and
exact owned resources where possible. Always cancel in finally and
pump Qt with a bound before widget destruction. No new interlayer
mocks, symbol switching, blanket retries, broad cleanup, or expanded
test excludes. Stop if production blockers require broader repairs.
Append accurate gpt-6-astra provenance and human network authorization
to the newest pair, preserving earlier generation.
## Live Qualification Summary
Active model remains gpt-6-astra (`openai/gpt-6-astra`). Added the
explicit live-provider option and production Kraken smoke test.
Corrected one demonstrated Kraken public-client constructor keyword
from `conf` to `config`. No other production code was changed during
this continuation. Exact new patch scope is:
- `tests/conftest.py`: six-line opt-in option.
- `tests/ui/test_live_chart.py`: new production integration test.
- `piker/brokers/kraken/api.py`: one keyword correction.
- This existing Prompt-IO pair: append-only continuation records.
Final offline targeted checks: 9 passed, 1 skipped in 2.65s. The live
run failed before the keyword fix (1 failed, 1 teardown error in
2.66s), then progressed to public history and paper EMS but failed
again (1 failed, 1 teardown error in 12.44s). Readiness preceded
rt_linked.mode assignment; Qt reported abstract paint errors and
widget teardown survivors. No successful live qualification is claimed.
Commands, original signatures, proposed minimal readiness repair,
and evidence limitations are retained in the raw companion.
Guest completion preceded widget destruction, but Tractor escalated
its own child teardown to SIGKILL and a paperboi.kraken orphan remained:
PID 752893, UID e8317c39-ebbb-4526-85f0-3440a2e6e39c, PPID 1.
No agent-issued signal or SHM cleanup was performed. Further live
runs and production repairs were stopped. The final test improvements
to failure-path SHM/endpoint accounting were checked offline only.
The human directed all safety boundaries, the public network opt-in,
the minimal scope and stop condition, and continuation of this pair.
These are human-directed agent edits; acceptance remains with the
human. Earlier provenance, prerequisite work, task-state markers,
.gitignore, .ai, and ai.skillz are unchanged. No staging or commits.