Context
The #17377 config PR (devindex as pull-mode tenant) carries a one-entry change to ai/deploy/kb-config.yaml. Its five ACs are live-deployment receipts: they require a sync cycle on the containerized plane, not a sandbox. This ticket owns landing those receipts after that PR merges.
The Problem
The running orchestrator reads kb-config.yaml through a read-only bind mount sourced from the deploy home checkout — not the repo tree a PR changes. The compose project neo-local-agent-os currently runs from /Users/Shared/clio/neomjs/neo/ai/deploy (verified via docker ps labels, 2026-08-23). The deploy home is a seat checkout (Clio, dark until the Fri 08:00 reset); no seat may edit another seat's tree, so the mount source cannot be updated from the author seat. Until the deploy home carries the merged config and the config-consuming containers are recreated to adopt it, the devindex entry does not exist on the plane.
The Architectural Reality
docker-compose.local-agent-os.yml mounts the file read-only into both kb-server and the orchestrator; the orchestrator mount is load-bearing (silent tier-3 fallback without it).
- Precedent: the Aug-1 activation on the
#16278 lane used exactly this sequence — deploy-home fast-forward, then --no-deps recreate of kb-server + orchestrator, chroma/MC untouched — with receipts captured from orchestrator logs.
- Sync cadence: per-repo due times ride the sweep cadence; the first whole-tree ingest of devindex (~112 tracked files) is the heavy pass;
[TenantRepoSync] receipts are durable in orchestrator logs.
The Fix
Ordered, after the #17377 config PR merges:
- Deploy home fast-forwards to
origin/dev (preserving local state, per the Aug-1 precedent).
- Recreate
kb-server + orchestrator only (--no-deps); chroma and mc untouched.
- After one sweep cycle: capture the
neo-shared/devindex bootstrap-seeding + cycle-summary lines from orchestrator logs (AC-1).
- Query receipts for AC-2..AC-5 (the remote data dir is already gone — verified 404 at claim time — so AC-2 is now a control that can fail for the right reason).
- Post receipts to
#17377; close both tickets.
Steps 1-2 touch the deploy home: owner is the deployment operators (@neo-gpt-emmy coordinates, @tobiu host-level) or the owning seat after return. The author seat (@neo-preview) claims receipt collection (steps 3-5) once the plane carries the entry.
Acceptance Criteria
Out of Scope
- The config change itself (the
#17377 PR).
- neo-as-tenant completion (the
#16278 lane) and the per-tenant sources/parsers gate named in the kb-config.yaml header comment.
- Sync cadence or mirror-root default changes.
Avoided Traps
- Editing the deploy home from the author seat. Another seat's tree is not mine to mutate; the recreate sequence exists so mounts are adopted atomically rather than hand-synced.
- Declaring AC-2 verified before the plane ingests. Inherited from
#17377 verbatim: a control that cannot fail for the right reason proves nothing.
- Recreating chroma/mc alongside. Unnecessary blast radius; the Aug-1 precedent scoped recreation to the two config-consuming services.
Related
Residual owner for the #17377 PR's Evidence line (L3 receipts). Structural: #17377, #17375 (closed; made whole-tree safe by construction), #16278 (neo-as-tenant lane; recreate-sequence precedent).
Retrieval Hint: query_raw_memories("devindex tenant pull-mode kb-config recreate kb-server orchestrator deploy home") · config commit 7cb870adcc
Live latest-open sweep: checked the latest 20 open issues at 2026-08-23T16:20Z; no equivalent ticket. A2A in-flight claim sweep (all read-states, ~2h window): no competing claim on this scope.
Origin Session ID: d83b1bf5-54d5-4cd8-8b62-a462e453bf45
Context
The
#17377config PR (devindex as pull-mode tenant) carries a one-entry change toai/deploy/kb-config.yaml. Its five ACs are live-deployment receipts: they require a sync cycle on the containerized plane, not a sandbox. This ticket owns landing those receipts after that PR merges.The Problem
The running orchestrator reads
kb-config.yamlthrough a read-only bind mount sourced from the deploy home checkout — not the repo tree a PR changes. The compose projectneo-local-agent-oscurrently runs from/Users/Shared/clio/neomjs/neo/ai/deploy(verified viadocker pslabels, 2026-08-23). The deploy home is a seat checkout (Clio, dark until the Fri 08:00 reset); no seat may edit another seat's tree, so the mount source cannot be updated from the author seat. Until the deploy home carries the merged config and the config-consuming containers are recreated to adopt it, the devindex entry does not exist on the plane.The Architectural Reality
docker-compose.local-agent-os.ymlmounts the file read-only into bothkb-serverand the orchestrator; the orchestrator mount is load-bearing (silent tier-3 fallback without it).#16278lane used exactly this sequence — deploy-home fast-forward, then--no-depsrecreate ofkb-server+ orchestrator, chroma/MC untouched — with receipts captured from orchestrator logs.[TenantRepoSync]receipts are durable in orchestrator logs.The Fix
Ordered, after the
#17377config PR merges:origin/dev(preserving local state, per the Aug-1 precedent).kb-server+orchestratoronly (--no-deps); chroma and mc untouched.neo-shared/devindexbootstrap-seeding + cycle-summary lines from orchestrator logs (AC-1).#17377; close both tickets.Steps 1-2 touch the deploy home: owner is the deployment operators (@neo-gpt-emmy coordinates, @tobiu host-level) or the owning seat after return. The author seat (@neo-preview) claims receipt collection (steps 3-5) once the plane carries the entry.
Acceptance Criteria
neo-shared/devindexbootstrap-seeded andlastIngestedRevnon-null after a cycle.apps/devindex/resources/data/**exists in the store (query a contributor-corpus-only value → empty).learn/**, not the neo corpus.{tenantId: neo-shared, repoSlug: devindex}.Out of Scope
#17377PR).#16278lane) and the per-tenant sources/parsers gate named in thekb-config.yamlheader comment.Avoided Traps
#17377verbatim: a control that cannot fail for the right reason proves nothing.Related
Residual owner for the
#17377PR's Evidence line (L3 receipts). Structural: #17377, #17375 (closed; made whole-tree safe by construction), #16278 (neo-as-tenant lane; recreate-sequence precedent).Retrieval Hint:
query_raw_memories("devindex tenant pull-mode kb-config recreate kb-server orchestrator deploy home")· config commit7cb870adccLive latest-open sweep: checked the latest 20 open issues at 2026-08-23T16:20Z; no equivalent ticket. A2A in-flight claim sweep (all read-states, ~2h window): no competing claim on this scope.
Origin Session ID: d83b1bf5-54d5-4cd8-8b62-a462e453bf45