Add a federated project store from LNS

Move the project scope from the current LNS working corpus into a
registered branch-local store. Preserve task states, checkbox
markers, carry metadata and contextual cross-repository references.
Expose the shared taken skill through the local discovery tree.
Include the existing live-store snapshot under a contextual
heading; retain every stable ID and state. Record cutover
requirements before retargeting existing agents. Validate Org
structure and manifest identity; keep application test suites
outside this data-only scope.

Prompt-IO: ai/prompt-io/20261003T001837Z_9115d24_project_stores.md

(this patch was generated in some part by `codex` using `gpt-6`
(`openai`))
wkt/federated_project_stores
Gud Boi 2026-10-04 15:32:41 -04:00
parent 9115d24da0
commit 9555e20cb3
11 changed files with 411 additions and 0 deletions

View File

@ -0,0 +1 @@
../../../../../../taken/wkts/federated_project_stores/.agents/skills/taken/SKILL.md

View File

@ -0,0 +1 @@
../../../../../../../taken/wkts/federated_project_stores/.agents/skills/taken/agents/openai.yaml

View File

@ -0,0 +1 @@
../../../../../../../taken/wkts/federated_project_stores/.agents/skills/taken/references/agents.md

View File

@ -0,0 +1 @@
../../../../../../../taken/wkts/federated_project_stores/.agents/skills/taken/references/writes.md

View File

@ -0,0 +1 @@
{"version": 1, "backend": "legacy"}

16
.gitignore vendored
View File

@ -306,3 +306,19 @@ claude_wkts
# BEGIN ai.skillz: direct:symlink:opencode:command:taken-export
/.opencode/commands/taken-export.md
# END ai.skillz: direct:symlink:opencode:command:taken-export
# Local worktrees and taken runtime artifacts
/.ai/state/
.*.taken.lock
# Version the federated project store despite local excludes
!/.taken/
!/.taken/current.org
!/.taken/sources.toml
!/.taken/README.md
# BEGIN ai.skillz: workflow-state
/.ai/state/
/.ai/commit-msg/conf.toml
/.ai/pr-msg/conf.toml
# END ai.skillz: workflow-state

22
.taken/README.md 100644
View File

@ -0,0 +1,22 @@
# piker project store
`current.org` contains the intact piker scope moved from the
LNS working corpus. Task/checkbox states, carry metadata and prose
remain human-owned. `sources.toml` selects this branch's store.
Read the local `taken` skill through `.agents/skills/taken/SKILL.md`.
It requires a complete-file revision guard for each authorized save.
Use an explicitly selected source; do not write a global LNS copy.
This migration preserves a historical project scope, not a claim that
its old task descriptions or branch paths reflect current reality.
The global storespace is registered in the LNS migration worktree's
`taken/sources.toml`. Modden, Tractor and Piker include snapshots of their pre-existing
local stores. The LNS consolidation ledger pins those inputs. Before
landing, reconcile any newer edits there and retarget active agents;
do not overwrite another agent's source or infer acceptance.
Before removing this migration worktree after landing, update the
global registration and the cross-repository taken skill link to the
landed locations. The skill link intentionally points to the Taken
migration branch until that code and documentation land.

290
.taken/current.org 100644
View File

@ -0,0 +1,290 @@
# vim: et sw=2 ts=2
#+TITLE: piker project store
#+TODO: TODO(t) WIP(w!) WAIT(a@) | DONE(d!) NOPE(n@)
# Checkbox states: [ ] open, [-] partial, [x] complete
* piker
:PROPERTIES:
:CATEGORY: piker
:END:
** TODO prs
:PROPERTIES:
:CREATED: [2026-07-15]
:CARRIED: 29
:END:
- [ ] move the below into *** todos with pr/branch links
* [ ] DPI-aware font scaling + manual kb bindings.
* [ ] gap_annotator for time gaps.
* [ ] moar `claude`-y skills,
* [ ] /lint with ruff
* [ ] /run-tests
*** WIP qualify known-FQME history backfill
:PROPERTIES:
:CREATED: [2026-07-24]
:CARRIED: 21
:REPO: /home/goodboy/repos/piker
:END:
- [x] preserve the dirty `flake_update` main checkout before
switching branches
- [x] check out `backfiller_deep_fixes` in the main checkout and
verify every process imports it
- [ ] complete the below qualification plan
* [ ] select one known-problem provider, FQME, timeframe, date range,
and original symptom
* [ ] preserve and checksum any known-bad parquet
* [ ] bootstrap `pikerd` with disposable config and NativeDB storage
* [ ] record baseline timestamps, rows, uniqueness, nulls,
ordering,
indexes, gaps, and readability
* [ ] reproduce fresh-backfill, restart, and append behavior for
only
the selected case
* [ ] convert each reproduced failure into a failing deterministic
test before fixing it
* [ ] rerun the exact manual lifecycle after every production
correction
* [ ] add deterministic subprocess coverage for process death and
cross-process locking
* [ ] exercise Ctrl-C, SIGTERM, SIGKILL, provider interruption, and
restart recovery
* [ ] qualify MarketStore and actual sampler backpressure separately
* [ ] expand to other timeframes and providers only after the
selected FQME passes
**** TODO fixed-FQME-case backfill qualify
:PROPERTIES:
:CREATED: [2026-07-29]
:CARRIED: 17
:REPO: piker/
:END:
- [ ] follow through using both new files,
* ./docs/manual_backfill_qualification.rst
* ./snippets/nativedb_backfill_audit.xsh
- [ ] choose and record one known-problem FQME, timeframe, UTC range,
and original chart symptom
- [ ] source `snippets/nativedb_backfill_audit.xsh` and initialize a
private disposable root with only the required provider config
- [ ] run repository and environment preflight at commit `0846cbd4`
- [ ] seed and audit the known-bad baseline, then replay repair and run
`bfq_compare()` without losing original timestamps
- [ ] clear only the disposable Parquet and qualify a fresh backfill
- [ ] restart against fresh storage and compare `fresh` to `restart`
- [ ] leave one subsequent run active long enough to append, then compare
`restart` to `append` with `require_newer=True`
- [ ] restart QQQ 1s on fresh datad SHM and verify the former 653-row
zero-time reservation does not recur
- [ ] preserve chart logs, audit JSON, Parquet snapshots, and exact UTC
gap endpoints for review
**** TODO review ^qualify^ evidence and close follow-ups
:PROPERTIES:
:CREATED: [2026-07-29]
:CARRIED: 17
:REPO: /piker
:END:
- [ ] verify every qualification process imports commit `0846cbd4`
- [ ] review baseline, repair, fresh, restart, and append reports for
structural, timestamp, endpoint, and gap regressions
- [ ] distinguish durable Parquet gaps from SHM hydration or chart-only
gaps using the runbook triage table
- [ ] convert each reproduced failure into a deterministic regression
before changing production code
- [ ] prepare the final qualification summary and any required patch,
PR, or worktree-lifecycle follow-ups
*** TODO cross-harness AI skill integration
:PROPERTIES:
:CREATED: [2026-07-21]
:CARRIED: 24
:REPO: /home/goodboy/repos/piker
:ISSUE: https://www.pikers.dev/pikers/piker/issues/79
:END:
- [ ] review and land the portable piker skill and OpenCode docs patch
- [ ] reconcile the active global `commit-msg` override with the
repo-local shared skill and style guide
- [ ] verify skill and command discovery after restarting Claude Code
and OpenCode
- [ ] fold remaining skill-content review into the canonical trackers:
* [ ] https://www.pikers.dev/pikers/piker/issues/69
* [ ] https://www.pikers.dev/pikers/piker/issues/79
*** TODO vectorize `gap_annotator` client spec building
:PROPERTIES:
:CREATED: [2026-07-21]
:CARRIED: 24
:REPO: /home/goodboy/repos/piker
:END:
- [ ] replace per-row Polars slicing and filtering in
`piker/tsp/_annotate.py:139` with extracted columns and batched
lookups
- [ ] preserve missing-prior-row, epoch-skip, direction, label, and
batch-payload behavior
- [ ] benchmark the 1285-gap case against the handoff in
`notes_to_self/claudy/gapsannotator_sesh.md`
- [ ] add focused correctness coverage for generated rectangle, arrow,
and text specs
*** TODO integrate the piker `ruff` lint skill
:PROPERTIES:
:CREATED: [2026-07-21]
:CARRIED: 24
:REPO: /home/goodboy/repos/piker
:END:
- [ ] review the clean but unmerged `claudy_writes_ruff_conf` branch
- [ ] validate its `ruff.toml` policy and staged-file checker against
the current tree
- [ ] port the `/lint` skill to shared Agent Skills frontmatter with
thin harness-specific commands
- [ ] rebase and prepare the accepted lint/config changes for landing
*** TODO reconcile stale Claude plans and worktrees
:PROPERTIES:
:CREATED: [2026-07-21]
:CARRIED: 24
:REPO: /home/goodboy/repos/piker
:END:
- [ ] reconcile `ai/claude-code/plans/shm_port.md` with the implemented
`tractor.ipc._shm` shim
- [ ] classify `datad_service.md` as an architecture record rather than
an active implementation plan
- [ ] inspect generated state before retiring the merged
`wkt/flake_update` and `worktree-ngi0_submission` worktrees
- [ ] preserve the unmerged lint worktree until its branch is reviewed
** TODO chart-local gap overlay follow-ups
:PROPERTIES:
:CREATED: [2026-08-14]
:CARRIED: 7
:REPO: /home/goodboy/repos/piker
:END:
- [ ] trigger `GapOverlayMngr.refresh()` from an explicit history
revision/publication event after repair or prepend
- [ ] expose gap-overlay UX through UI config
* [ ] startup visibility and enabled timeframes
* [ ] default `Ctrl+G` key binding
- [ ] live-qualify chart-local overlay behavior
* [ ] actor startup and focused 1s/60s toggling
* [ ] multi-symbol and duplicate-FQME cached charts
* [ ] secondary-`Viz` placement and backfill repositioning
* [ ] remote disconnect and owner-scoped graphics cleanup
- [ ] add focused Qt/actor regressions for the qualified lifecycle
** TODO factor typed chart annotation IPC dialogs
:PROPERTIES:
:CREATED: [2026-08-14]
:CARRIED: 7
:REPO: /home/goodboy/repos/piker
:END:
- [ ] exercise the strict `SetGapOverlay`/`GapOverlay`
dialog under a live Tractor context
* [ ] wrong-direction and unrelated payload rejection
* [ ] timeout, cancellation, stale reply, and disconnect recovery
- [ ] factor keyed send/receive locking, fresh request IDs, and stale
response correlation into a generic IPC dialog helper after a
second typed consumer establishes the interface
- [ ] migrate legacy `remote_annotate()` dict commands to tagged
request/response message types
- [ ] decide whether to fold `remote_gap_overlays()` into the general
annotation endpoint after the legacy protocol is typed
** proj_mgmt
:PROPERTIES:
:CATEGORY: project
:END:
*** TODO ngi0 aug01 funding submit!
DEADLINE: <2026-08-01 Sat>
:PROPERTIES:
:CREATED: [2026-06-01]
:CARRIED: 33
:END:
- [ ] wip pr: https://github.com/goodboy/tractor/pull/431
https://nlnet.nl/propose/
https://nlnet.nl/foundation/policies/generativeAI/
https://nlnet.nl/commonsfund/
*** TODO MEETING(s)
:PROPERTIES:
:CREATED: [2026-05-21]
:CARRIED: 33
:END:
** ui
:PROPERTIES:
:CATEGORY: piker.ui
:END:
*** TODO dpi_auto_calc
:PROPERTIES:
:CREATED: [2026-07-15]
:CARRIED: 29
:END:
- [ ] PUT PRs here
** brokers
:PROPERTIES:
:CATEGORY: piker.brokers
:END:
*** TODO IB: follow-up for search results bs!
:PROPERTIES:
:CREATED: [2026-05-21]
:CARRIED: 33
:END:
* https://www.pikers.dev/pikers/piker/issues/85
- [X] fix the `si.expiry..ib` search result?
- [ ] introspect why `Client.search_symbols()` is returning the
empty `.<venue>` case!
- presumably by something weird in the server-side endpoint?
- [ ] figure out better tuning of client side fuzzy-filter versus
server-side versus UI final display pass!
*** TODO ish for port to `uv`,
:PROPERTIES:
:CREATED: [2026-05-21]
:CARRIED: 33
:END:
* https://github.com/ib-api-reloaded/ib_async/issues/204
- [ ] mention to track in #68
*** TODO profiling: try newer libs,
:PROPERTIES:
:CREATED: [2026-05-21]
:CARRIED: 33
:END:
- [ ] https://github.com/pikers/piker/issues/337
** perf/tooling
:PROPERTIES:
:CATEGORY: piker.profile
:END:
- [ ] link existing GH issues for trying new
libs!
** FSP backfill: branch work
*** TODO review and commit FSP backfill synchronization
:PROPERTIES:
:ID: piker-fsp-backfill-sync-review-and-commit
:CREATED: [2026-09-03]
:CARRIED: 0
:REPO: /home/goodboy/repos/piker/wkts/fsp_backfill_sync
:END:
- [ ] review committed token-targeted history graphics change
(`fadab3d2`)
- [ ] review and commit the FSP stream-contract boundary
* yo yo yo
* `piker/data/__init__.py`
* `piker/data/ticktools.py`
* `piker/fsp/_api.py`
* `piker/fsp/_momo.py`
* staged portion of `piker/fsp/_volume.py`
- [ ] review and commit the synchronization and live-volume boundary
* explicit `Flume` RT/history cadence
* immutable history snapshots and absolute SHM-bound synchronization
* relevant backfill filtering and non-duplicating destination steps
* nonnegative sampled and derived volume
* M4 graphics-cache invalidation and unchanged-update suppression
* FSP synchronization regressions and Prompt-IO provenance
- [ ] review and commit the `piker-fsp-expert` skill boundary
- [ ] run boundary checks and the final test suite
- [ ] inspect each staged diff and commit message before committing
*** TODO add cumulative M4 downsampling for volume curves
:PROPERTIES:
:ID: piker-cumulative-m4-volume-downsampling
:CREATED: [2026-09-03]
:CARRIED: 0
:REPO: /home/goodboy/repos/piker/wkts/fsp_backfill_sync
:END:
- [ ] define cumulative bucket semantics for step-style data
* sum all source values represented by each pixel bucket
* preserve bucket time/index placement and zero-volume gaps
- [ ] add a sum-reducer variant alongside price min/max M4
- [ ] route unit and dollar-volume curves through cumulative downsampling
- [ ] keep price, OHLC, and non-cumulative signal curves on min/max M4
- [ ] preserve incremental appends, view changes, and cache invalidation
- [ ] test sum conservation across zoom levels and partial edge buckets
- [ ] profile the cumulative path against the existing M4 implementation

View File

@ -0,0 +1,8 @@
version = 1
[[sources]]
id = "piker"
path = "current.org"
repo = ".."
enabled = true
agenda = true

View File

@ -0,0 +1,34 @@
---
created_at: 2026-10-03T00:18:37.208688+00:00
generated_by:
harness: codex
provider: openai
model: gpt-6
git_ref: 9115d24
scope: data
substantive: true
raw_file: 20261003T001837Z_9115d24_project_stores.raw.md
---
## Prompt
Split the LNS working corpus into per-repository federated stores on
open-wkt branches and connect them to one global storespace. Preserve
human task states. Add a local agent workflow, update taken-export,
and design rollover, supervised concurrency, activity and ranked views.
## Response summary
Create the repository's migration branch and preserve its imported
scope, with revision-aware local source configuration and a shared
local taken skill. Keep original checkout stores and indexes intact.
Existing live branch stores remain independently registered. The LNS
manifest and migration ledger describe the authoritative split paths.
## Human edits
The human chose the per-repo split and worktree delivery, authorized
local auto-mode, and required supervisor-based locking: the supervisor
owns write authority and can revoke delegated human/subagent edit
grants through cancellation. The agent applied these directions.
No task/checkbox acceptance changes or Git commits were authorized.

View File

@ -0,0 +1,36 @@
---
created_at: 2026-10-03T00:18:37.208688+00:00
generated_by:
harness: codex
provider: openai
model: gpt-6
git_ref: 9115d24
scope: data
substantive: true
raw_file: 20261003T001837Z_9115d24_project_stores.raw.md
---
## Prompt excerpts
“break it up into appropriate per repo federated store files”
“intro the sub-store updates each on /open-wkt branches”
“a concise entrypoint to view all sub-project repo's federated stores”
“supervisor based locking”
“an edit capability can only be acquired from the supervisor”
“a human editor can be cancelled from their write access”
## Generated output (diff reference)
> `git diff HEAD~1..HEAD -- .taken/current.org`
Create the repository's migration branch and preserve its imported
scope, with revision-aware local source configuration and a shared
local taken skill. Keep original checkout stores and indexes intact.
Existing live branch stores remain independently registered. The LNS
manifest and migration ledger describe the authoritative split paths.
## Explanation
The global launch now works: one Neovim window shows all 13 sources,
with normal highlighting and the new help menu. The full AI export
reports complete coverage with no diagnostics.