Skip to content

Roadmap record 2026-09-28: current architecture, recorded targets, gaps and next moves - #469

Merged
seathatflowsinourveins merged 1 commit into
mainfrom
claude/ecosystem-roadmap-20260928
Sep 28, 2026
Merged

seathatflowsinourveins merged 1 commit into
mainfrom
claude/ecosystem-roadmap-20260928

Conversation

@seathatflowsinourveins

@seathatflowsinourveins seathatflowsinourveins commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

Summary

Adds docs/decisions/2026-09-28-ecosystem-roadmap.md and registers it in manifests/evidence.json. It answers the user's 2026-09-28 request for the ecosystem's next moves, grand roadmap, current architecture, SOTA-converged target and gaps. The record contains:

  • the current architecture in 10 tiers, taken from what is installed and merged;
  • the recorded target for every one of the 32 layers, with its evidence class and the comparison that would confirm it. None is confirmed (components_confirmed: 0);
  • ranked gaps;
  • a dated roadmap (now, this week, next two weeks, later), with owner, dependency and the north-star number each move changes;
  • triage of all 29 open PRs;
  • user-only actions;
  • the recorded calendar.

It decides nothing new and changes no authority. Owners, gates and user decisions are quoted from existing records or from peers' own statements.

Method

  • Mapping run. Read-only Ultracode workflow wf_04132aa1-bf4, with 25 children. child-usage.mjs reports status complete: all 25 resolved to claude-opus-5-5 at effort max. The run had six layer mappers plus a gate/PR mapper and an architecture mapper.
  • Checks. Each mapper got one adversarial refuter. A completeness critic followed, with 6 follow-ups, then a synthesis and an order refutation (8+8+1+6+1+1 = 25 children). That refutation returned 13 corrections (ordering_ok: false), and all 13 are applied.
  • Coordinator re-checks against origin/main 83229e2:
    • the 71/287 missing gpt-6-astra votes and the 27 absence-only refutations, computed from manifest-20260926.json;
    • the calendar citations;
    • the PR counts: 29 open, 20 conflicting.
  • No live landscape sweep. The user gated it on Gate A and Gate B on 2026-09-27.
  • Peer round over SendMessage:

Lane

lane:foundation. docs/lanes.md:24 assigns docs/ (outside the named trading documents) to the foundation lane. Lines 145-148 say hash registration alone doesn't make a PR shared. The doc describes trading-lane moves as proposals and changes no trading path. Corrected from lane:shared after the GPT-6 review (finding 5). A trading-lane comment is still welcome when a trading session is live.

SOTA sources

  • Recorded convergence artifacts behind every target row:
    • catalogs/sota-convergence/layer-verdicts-20260922.json, the 09-22 winners;
    • catalogs/sota-convergence/manifest-20260926.json, the 09-26 candidate ledger with pins, upstream latest, votes and overturn comparisons;
    • catalogs/us-equities/runtime-target.json;
    • catalogs/foundation/manifest.json.
  • Method references:
  • No component is installed, pinned or changed by this PR.

Checks

  • python3 scripts/validate.py → status: passed (exit 0) at the branch head.
  • Private-detail scan of the new doc for host user name, home, /tmp and state paths, account fingerprints and email: 0 hits.
  • gitleaks pre-push: no leaks.
  • Cross-family review: GPT-6 (gpt-6-astra, effort max, codex exec -s read-only) reviewed head ef02daa7 and returned changes-needed with 10 findings. All 10 were repaired in 50155f91; see the review-disposition comment.

🤖 Generated with Claude Code

@seathatflowsinourveins seathatflowsinourveins added the lane:shared Touches files owned by both lanes; needs both lanes' acknowledgement label Sep 28, 2026
@seathatflowsinourveins
seathatflowsinourveins force-pushed the claude/ecosystem-roadmap-20260928 branch from ef02daa to 50155f9 Compare September 28, 2026 22:39
@seathatflowsinourveins seathatflowsinourveins added lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers and removed lane:shared Touches files owned by both lanes; needs both lanes' acknowledgement labels Sep 28, 2026
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Cross-family review, one round (GPT-6 gpt-6-astra, effort max, codex exec -s read-only on head ef02daa7): changes-needed, 10 findings. All 10 were repaired in 50155f91.

Each fix was checked against source at 83229e24 before it was applied. validate.py passes at 50155f91.

  1. Must-fix: DuckDB and Inspect AI evidence classes. storage-compute is now IC, from the verdict's local receipt (layer-verdicts-20260922.json:8310-8316). UT is credited only to the later Receipt repairs for the GPT-6 findings on #277/#281: upstream suites for FastAPI, pandera, DuckDB; 12 independent vetoes #331 upstream suites. evaluation-experiments is now SR (:5965-5967).
  2. Must-fix: portfolio-risk. It now records the 09-22 winner, skfolio 1.2.9 as the WalkForward splitter (:7164-7167), with the verdict's own overturn checks (:7160). quantstats was not a recorded default: it is absent from catalogs/us-equities/manifest.json.
  3. Must-fix: the W record. It now keeps only the recorded conditions (delegated-decisions.md:99-103). Overlap with paper runs and the 10-25 end are marked as proposals, each needing its own amendment by the Gate A owner.
  4. Should-fix: Gate B order. An exploratory Runtime worker: OpenHands on GPT-6 via OmniRoute (recipe, O1 isolation, reviewed repair round) #425 run may inform the criterion, which is frozen before the measured acceptance run.
  5. Should-fix: lane. Relabelled lane:foundation (docs/lanes.md:24, 145-148).
  6. Should-fix: IBKR comparator. It is now the first released 2.0.x containing nautilus_trader#5041, not rc5 (IBKR local acceptance (steps 2-4) prep: awaiting the user's paper IB Gateway sign-in #280).
  7. Should-fix: counts.
    • code-navigation has six arms (:452-459);
    • storage has four checks (:8126);
    • 23 candidates are withheld, of 27 absence-refuted; the other 4 are already ledger candidates.
  8. Should-fix: citations.
    • The service claim is narrowed to a component-id search of stack.json plus the conditional Docker entry;
    • RES-PIT now cites mover-v3/README.md:198,559.
  9. Should-fix: workflow count. The critic raised 6 items, not 8, so 8+8+1+6+1+1 = 25 children. The doc now states that the run's journal is session-local and that claims rest on their cited sources.
  10. Nit. The skills review is now "due 2026-10-25". The receipt-8 line cites AGENTS.md:16 (reuse needs matching inputs) and :42 (historical receipts). In the current file, the reviewer's :14 is a different rule.

Residual: none open from this round. Under the bounded-review rule there is one review and one repair, with no second review round.

…ps and next moves

A read-only, adversarially refuted mapping of all 32 layers (wf_04132aa1-bf4)
with the review's 13 corrections applied. Decides nothing new; owners, gates and
user decisions are quoted from existing records and peers' own statements.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@seathatflowsinourveins
seathatflowsinourveins force-pushed the claude/ecosystem-roadmap-20260928 branch from 50155f9 to 36fecc9 Compare September 28, 2026 23:00
@seathatflowsinourveins
seathatflowsinourveins enabled auto-merge (squash) September 28, 2026 23:00
@seathatflowsinourveins
seathatflowsinourveins merged commit f021926 into main Sep 28, 2026
26 checks passed
@seathatflowsinourveins
seathatflowsinourveins deleted the claude/ecosystem-roadmap-20260928 branch September 28, 2026 23:22
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Post-merge handoff from the foundation integrity and skills-trial lane (session cloudflare-security-audit-sota-review), checked against main f0219263 on 2026-09-28. The roadmap says it decides nothing new; these corrections are for its next edition.

  1. M2 actionlint. Hosted parity has held on every main validate.yml run since validate: non-required kjanat/actionlint 1.17.0 parity job beside the pinned 1.7.12 (rhysd upstream inactive) #449 (b60d5182), through f0219263. The required-gate swap to kjanat/actionlint v1.17.0 is being built now as its own lane:foundation PR. The sealed ci-supply-chain landscape verdict (catalogs/landscape/foundation.json layers[11], run foundation-ci-supply-chain-20260922) still names rhysd as selected. It changes only through a sealed re-record, so please carry it under F-LT-1.
  2. M3 betterleaks. It stays report-only. The list of what must close before a swap is at evidence/artifacts/betterleaks-parity-20260927/README.md L481-503. Fingerprinting the history rows conflicts with the .gitleaksignore contract in tests/test_gitleaks_config.py L596-664, so M3a first needs a reviewed widening of that contract.
  3. CodeQL quality (M4). CodeQL quality suites: measured before any setup change; keep default setup (plan M4) #450 (d58526a3) kept default setup. The ten Scorecard PinnedDependencies alerts (Verify rendered dashboards and fix memory panel usability #42-Reconcile foundation catalogs with current upstream and Claude evidence #49, Restore reviewed comparison progress and reconcile worker receipts #60, PR-2: freeze the 20-layer foundation taxonomy and add layer-verdict schema v2 #61) were verified line by line and dismissed as false positives on 2026-09-28. The five repository-posture alerts (Finalize token-efficiency repositories and verified native observations #14, Document verified Desktop token workflow and reusable task prompt #18, Separate native foundation and trading catalogs with upstream acceptance #20-Keep adoption handbook counts aligned with canonical manifests #22) stay open. The trading-path findings are handed off in CodeQL quality follow-ups in trading paths: S16 catch-base-exception, S10-S12 hygiene #473.
  4. security-audit trial (M5). M5b gate 1 passed 65 of 65 (security-audit trial: host install read-back and M5b gate 1 (65/65 upstream tests) #452, 718e5620). Gate 2 (a labelled fixture) is open. Gate 3 (the per-run budget) and the M5c bake-off wait on Gates A and B, so please list them as dependents of F-NOW-1 and F-WK-2.
  5. Skills trial. verification-before-completion was removed (Delegated decisions 2026-09-28: M1/M2 keep, M3 the latest Opus, M4 remove, #444 trading ack, Gate A owner #462 c1581fa2, Skills trial: remove verification-before-completion under the conflict rule (M4), #381 Amendment 3 #464 c0966da2), and the installer's global rollback read-back landed (install_skills: read back a global rollback like #429's project path; M4 host removal receipt #467 83229e24). The Mac check is [mac-coordinator] other: skills check, remove verification-before-completion (by 2026-10-25) #472, and the 2026-10-25 window-end checklist is Skills trial review 2026-10-25 (window end): per-host checklist #474.
  6. F-2W-4 (sandbox M6). catalogs/foundation/manifest.json L254 names the owner "foundation coordinator", and 2026-10-11 is a re-check date, not a deadline. Measuring needs no adoption decision, since L255 keeps .claude/settings.json unchanged; adoption and the permission mode stay with the user. Codex inherit=none (docs/decisions/2026-09-24-secret-storage.md L62-66) is a separate item that needs the gateway owner's agreement.
  7. F-LT-1 should also carry the M1 flags at docs/decisions/2026-09-25-skills-trial-and-usage.md L739-740 and L756: openai/skills is stale and noseyparker is archived.

@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Follow-up to the comment above, from the gateway and OpenHands lane (token-save-practice-e2e-status) on 2026-09-28:

  • Gate B (F-WK-2). That lane accepted drafting the criterion now, with the three arms from this roadmap: native Codex, OmniRoute GPT-6, and OpenHands via OmniRoute. It will include tasks, metrics, a pass rule and a proposed owner. It comes as a docs-only DRAFT PR that is not frozen, not run and not authorized, and goes to the user for confirmation before any measured run.
  • Codex inherit=none (docs/decisions/2026-09-24-secret-storage.md L62-66). The gateway owner agrees to a canary on codex 0.157.1 under four conditions:
    (a) the provider's env_key still reaches Codex itself, since the shell policy governs only the model's commands; a GPT-6 call through 20128 must succeed with the policy on;
    (b) explicit non-secret set entries (PATH, HOME and so on) keep the sweep's commands working;
    (c) the keyed [shell_environment_policy.filters] table is kept or removed deliberately, never mixed with the legacy arrays in the same layer (codex shell_environment_policy.rs L28-35, L106-110);
    (d) build_args.py and tests/test_codex_worker_lane.py change in the same PR.
    Tell the gateway owner when the canary will run, so it does not overlap a gateway restart. Not scheduled yet.
  • Runtime-worker skills follow-ups. These now belong to the skills-trial owner, not the Runtime-worker skills program: project-scoped installs and a 137-skill manifest #429 program. One is a cross-link after blueprints/runtime-workers/skills/README.md L175 to the global rollback read-back. The other is the project-mode native rollback reproduction. Both are tracked with Skills trial review 2026-10-25 (window end): per-host checklist #474.

seathatflowsinourveins added a commit that referenced this pull request Sep 29, 2026
…nt v1.17.0 (hosted parity 25/25) (#476)

* validate: swap the required actionlint step to kjanat/actionlint v1.17.0 (M2 step 3)

The required validate job's actionlint step now downloads kjanat/actionlint
v1.17.0 with the trial job's URL, pinned digest, sha256sum --check, extract
and -version/-color pattern, still after zizmor, and the non-required
actionlint-successor trial job is removed. The job keeps the workflow-level
contents: read, harden-runner in audit mode first and persist-credentials:
false.

On every push run of validate.yml on main from b60d518 (#449) through
f021926 (#469), 25 of 25, the trial job and the rhysd 1.7.12 step both
succeeded (actionlint exit 0: no diagnostics). A fresh local run of the
documented procedure verified the archive digest, the release checksums file
and gh attestation verify -R kjanat/actionlint (exit 0; a wrong-repository
control exits 1), and 1.17.0 reports 0 diagnostics on this branch's 20
workflows with and without shellcheck 0.9.0-1.

catalog-freshness.yml's pin row, automation.json's actionlint interface
(six lines, 2026-09-27 note kept as history) and docs/github-automation.md's
install and attestation procedure (same line count) follow the pin. The
present-tense claims that the pinned actionlint rejects concurrency `queue`
are reworded as dated statements; no behaviour changes, and the propose-job
concurrency assertion is unchanged.

Receipt: evidence/artifacts/actionlint-successor-swap-20260928/.

SOTA sources: kjanat/actionlint v1.17.0 (immutable release; annotated tag
2da2ceb4 -> commit 08bb2c4f; SLSA provenance signed by
.github/workflows/release.yml@refs/tags/v1.17.0; docs/install.md lines
124-134, docs/usage.md lines 275-284, CHANGELOG.md lines 13 and 238),
rhysd/actionlint v1.7.12 (docs/usage.md lines 181-190), zizmor 1.30.1
(.github/requirements-ci.txt).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* evidence: register the actionlint successor swap receipt

Register the two new receipt files and re-register validate.yml,
catalog-freshness.yml, automation.json, docs/github-automation.md and
tests/test_catalog_freshness_propose.py through host_receipts.register_file,
per the docs/lanes.md hot-file protocol (shared hot file in the branch's last
commit). As in #449, the receipt is hash-listed in files[] with no receipts[]
entry. component_matrix.py --check and new_host_grand_list.py --check passed
unchanged, so neither --write ran; python3 scripts/validate.py exits 0.

SOTA sources: docs/lanes.md hot-file protocol; scripts/host_receipts.py
register_file; precedent b60d518 (#449).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* actionlint swap receipt: record the local negative control, narrow item 1, date the procedure's rhysd-era results (review repair)

- receipt/README: local_negative_control (fixture fixtures/nc.yml.txt, zizmor 0, kjanat exit 1 with and without shellcheck);
  trial item 1 is closed except the shellcheck sub-claim; hosted negative control and hosted shellcheck evidence stay pending,
  with the reason (no --no-verify, no test edit); dated-records citation widened to docs/catalog-provenance.md L133-189.
- docs/github-automation.md: one appended sentence (no new line) dating the 2026-09-20/21 results to rhysd v1.7.12's procedure.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* Hot-file registration after merging main (docs/lanes.md protocol): re-register the 8 changed paths

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Scout <scout@local>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant