Repository navigation
Generate the canonical final-stack manifest (W4 PR 2) - #1007
Conversation
178b797 to
4d6cee1
Compare
|
Dependency limit exceeded — report not shown. This pull request scan exceeded the 10,000-dependency limit applied to this scan, so the results are incomplete and may be inaccurate. To avoid reporting false positives, Socket has not posted a report. Upgrade your plan to raise the dependency limit and get complete reports, or view the partial scan in the dashboard. Socket is always free for open source. If this is a non-commercial open source project, contact us to request a free Team account. |
4d6cee1 to
f5bd15d
Compare
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f5bd15dd5b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7ceedc64f3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e5b7d884ab
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bdb4231af7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
bdb4231 to
d147cc4
Compare
…tration landscape on the command-center page The owner asked for the whole ecosystem on one page, so the command center grows from six sections to nine, still from existing producers only: - Orchestration: the CC's recorded orchestration-frameworks resolution and the same slot in cc-native-practice slots-final.json, the landing queue, the co-op's GPT read queue (read-queue-now.json) and the Adoption snapshot's orchestration tool calls by role. - Resolution landscape: each matrix winner's component, pin, evidence class, lifecycle stages and platforms, with the W6 final columns (verdict, run pin, upstream E2E at the pin, invoke evidence) as recorded or "not recorded". Each winner's repository is matched to cc-now.json mirrors.pins by the version its tag names or a commit prefix, and a winner without a mirror says so. Terminal states come only from final-stack.json and read "pending #1008/#1007" until it exists. The committed north-star readiness layers follow with the same columns; the CC's program, mirrors, rulings and ten-layer plan render as given. - SOTA skill invoke rates: one row per skill pinned in adoption/skills/manifest.json (source@ref, linked only for https, and path), joined with the 7-day counts per client from skill_usage.py and child-usage.mjs, or from #970's skill-invoke-rate-daily/1 projection when it is current. Zero calls flag "wiring defect"; a pinned skill with no install record is "not installed" (unknown while /skill-doctor is unmeasured); a called skill the manifest does not pin is "unpinned". The practice-slot table marks the orchestration-frameworks row. An unmeasured value never reads as zero. - Tokens saved: tools/local-pages/token_tools_now.py runs each token tool's own report command (rtk gain, headroom agent-savings and output-savings, context-mode doctor) and records its exit code, run time, version and own estimate in token-tools-now.json. The page shows each beside its command, labels the token-window counters as client counters, and never sums across tools, evidence classes or windows. - Research queue: research-queue.tsv rows and research-state.json's resume order. The #1012 Claude read's fixes are folded in. B1: the email mask moves into the shared sanitizer and matches after its per-token decoding (CPython html.unescape and urllib.parse.unquote, cited at v3.13.16), so @, an encoded dot (%2E or .), %2540 and a semicolon-less @ are omitted on every page; the old page-local mask left all five readable. B2: each section's label follows what it renders, and every partial section names its reason. B3: each section and the count strip render in their own guard, so a scalar codex_top_lanes_M or an integer above 1e308 degrades only its own section. The receipt lists only the not-wired inputs the page rendered. source_policy.json gains a command_center role map with sixteen exact repo and state paths, read through CommandCenterReads, which extends the Architecture reader (bounded, no-follow, protected names, no user root). Reports past their limit read "stale" with their age; times recorded as a time of day stay as recorded. tools/skill-usage/render_units.py renders reviewed user units that keep the three skill reports current: hourly, the host report (91 s measured, including the $0 zero-turn claude -p /skill-doctor, with --claude-timeout 120 because the 30 s default expired once under load) and the Claude lanes sweep (198 s and a 1.9 GB peak, projected from 181 MB to 26 KB by systemd/claude-lanes.jq); daily, the Codex lanes report, which had not finished after 25 minutes, so its completion time is unmeasured. Each step renames a finished report into place. The evidence manifest records the new hashes of source_policy.json and the skill-usage README. Tests cover each section, unknown versus zero, staleness, hostile types and strings, privacy (eight email forms, decoded twice) and the exact grants; 33 fail-before mutations of this change each fail them. The unit tests round-trip each ExecStart through systemd quoting and pass systemd-analyze verify. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d147cc4724
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…ens, skills, manifests and owner items
command_center_view.py renders command-center.html, linked first from the
index and second in the navigation. Its six sections reuse what each refresh
already reads, with no new collector and no new source_policy.json grant:
- Sessions and lanes: the Fleet observation (live Codex lanes, Claude
sessions, reads in flight, parked lanes and the hcom roster's state age)
and cc-now.json cc_agents.running, as "name (task)" text or
{name, task, model} rows.
- PR waves: cc-now.json in_review and landings_today. Optional head, round,
next_gate, blockers and follow_ups fields are documented in the README;
an absent field reads "not recorded".
- Tokens saved: token_efficiency and token_use_24h as the CC reports them,
with the window from the source or a field-name suffix and nothing summed.
Token use by lane is the page's only chart: one hue, bars beside the
numbers in the same table.
- SOTA skill invoke rates: Fleet tracking's per-lane skill_invocations
family, where UNKNOWN stays distinct from zero.
- Compounding manifests: the committed readiness and evidence manifests,
read through ArchitectureReads under the existing architecture_readiness
and architecture_registry grants. Their hashes join the custody table and
the receipt's command_center block.
- Waiting on you: waiting_on_owner, with its detail and dates.
A missing input renders "missing input: <name>", an unapproved manifest
"unreadable (SourcePolicyError)", and a view failure publishes an UNREPORTED
placeholder; none stops the refresh. The token-report manifest, the
skill_usage.py reports and research-queue.tsv read "not wired" (no grant),
and the final-stack manifest "pending #1007". After the shared sanitizer the
page also masks email addresses.
tests/test_local_pages_command_center.py covers the fixture build, stated
gaps, the optional PR fields, the index link and privacy; it reads
LANDING_PROHIBITED_NAMES at test time. Two existing tests now count the new
output.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tration landscape on the command-center page The owner asked for the whole ecosystem on one page, so the command center grows from six sections to nine, still from existing producers only: - Orchestration: the CC's recorded orchestration-frameworks resolution and the same slot in cc-native-practice slots-final.json, the landing queue, the co-op's GPT read queue (read-queue-now.json) and the Adoption snapshot's orchestration tool calls by role. - Resolution landscape: each matrix winner's component, pin, evidence class, lifecycle stages and platforms, with the W6 final columns (verdict, run pin, upstream E2E at the pin, invoke evidence) as recorded or "not recorded". Each winner's repository is matched to cc-now.json mirrors.pins by the version its tag names or a commit prefix, and a winner without a mirror says so. Terminal states come only from final-stack.json and read "pending #1008/#1007" until it exists. The committed north-star readiness layers follow with the same columns; the CC's program, mirrors, rulings and ten-layer plan render as given. - SOTA skill invoke rates: one row per skill pinned in adoption/skills/manifest.json (source@ref, linked only for https, and path), joined with the 7-day counts per client from skill_usage.py and child-usage.mjs, or from #970's skill-invoke-rate-daily/1 projection when it is current. Zero calls flag "wiring defect"; a pinned skill with no install record is "not installed" (unknown while /skill-doctor is unmeasured); a called skill the manifest does not pin is "unpinned". The practice-slot table marks the orchestration-frameworks row. An unmeasured value never reads as zero. - Tokens saved: tools/local-pages/token_tools_now.py runs each token tool's own report command (rtk gain, headroom agent-savings and output-savings, context-mode doctor) and records its exit code, run time, version and own estimate in token-tools-now.json. The page shows each beside its command, labels the token-window counters as client counters, and never sums across tools, evidence classes or windows. - Research queue: research-queue.tsv rows and research-state.json's resume order. The #1012 Claude read's fixes are folded in. B1: the email mask moves into the shared sanitizer and matches after its per-token decoding (CPython html.unescape and urllib.parse.unquote, cited at v3.13.16), so @, an encoded dot (%2E or .), %2540 and a semicolon-less @ are omitted on every page; the old page-local mask left all five readable. B2: each section's label follows what it renders, and every partial section names its reason. B3: each section and the count strip render in their own guard, so a scalar codex_top_lanes_M or an integer above 1e308 degrades only its own section. The receipt lists only the not-wired inputs the page rendered. source_policy.json gains a command_center role map with sixteen exact repo and state paths, read through CommandCenterReads, which extends the Architecture reader (bounded, no-follow, protected names, no user root). Reports past their limit read "stale" with their age; times recorded as a time of day stay as recorded. tools/skill-usage/render_units.py renders reviewed user units that keep the three skill reports current: hourly, the host report (91 s measured, including the $0 zero-turn claude -p /skill-doctor, with --claude-timeout 120 because the 30 s default expired once under load) and the Claude lanes sweep (198 s and a 1.9 GB peak, projected from 181 MB to 26 KB by systemd/claude-lanes.jq); daily, the Codex lanes report, which had not finished after 25 minutes, so its completion time is unmeasured. Each step renames a finished report into place. The evidence manifest records the new hashes of source_policy.json and the skill-usage README. Tests cover each section, unknown versus zero, staleness, hostile types and strings, privacy (eight email forms, decoded twice) and the exact grants; 33 fail-before mutations of this change each fail them. The unit tests round-trip each ExecStart through systemd quoting and pass systemd-analyze verify. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ens, skills, manifests and owner items
command_center_view.py renders command-center.html, linked first from the
index and second in the navigation. Its six sections reuse what each refresh
already reads, with no new collector and no new source_policy.json grant:
- Sessions and lanes: the Fleet observation (live Codex lanes, Claude
sessions, reads in flight, parked lanes and the hcom roster's state age)
and cc-now.json cc_agents.running, as "name (task)" text or
{name, task, model} rows.
- PR waves: cc-now.json in_review and landings_today. Optional head, round,
next_gate, blockers and follow_ups fields are documented in the README;
an absent field reads "not recorded".
- Tokens saved: token_efficiency and token_use_24h as the CC reports them,
with the window from the source or a field-name suffix and nothing summed.
Token use by lane is the page's only chart: one hue, bars beside the
numbers in the same table.
- SOTA skill invoke rates: Fleet tracking's per-lane skill_invocations
family, where UNKNOWN stays distinct from zero.
- Compounding manifests: the committed readiness and evidence manifests,
read through ArchitectureReads under the existing architecture_readiness
and architecture_registry grants. Their hashes join the custody table and
the receipt's command_center block.
- Waiting on you: waiting_on_owner, with its detail and dates.
A missing input renders "missing input: <name>", an unapproved manifest
"unreadable (SourcePolicyError)", and a view failure publishes an UNREPORTED
placeholder; none stops the refresh. The token-report manifest, the
skill_usage.py reports and research-queue.tsv read "not wired" (no grant),
and the final-stack manifest "pending #1007". After the shared sanitizer the
page also masks email addresses.
tests/test_local_pages_command_center.py covers the fixture build, stated
gaps, the optional PR fields, the index link and privacy; it reads
LANDING_PROHIBITED_NAMES at test time. Two existing tests now count the new
output.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tration landscape on the command-center page The owner asked for the whole ecosystem on one page, so the command center grows from six sections to nine, still from existing producers only: - Orchestration: the CC's recorded orchestration-frameworks resolution and the same slot in cc-native-practice slots-final.json, the landing queue, the co-op's GPT read queue (read-queue-now.json) and the Adoption snapshot's orchestration tool calls by role. - Resolution landscape: each matrix winner's component, pin, evidence class, lifecycle stages and platforms, with the W6 final columns (verdict, run pin, upstream E2E at the pin, invoke evidence) as recorded or "not recorded". Each winner's repository is matched to cc-now.json mirrors.pins by the version its tag names or a commit prefix, and a winner without a mirror says so. Terminal states come only from final-stack.json and read "pending #1008/#1007" until it exists. The committed north-star readiness layers follow with the same columns; the CC's program, mirrors, rulings and ten-layer plan render as given. - SOTA skill invoke rates: one row per skill pinned in adoption/skills/manifest.json (source@ref, linked only for https, and path), joined with the 7-day counts per client from skill_usage.py and child-usage.mjs, or from #970's skill-invoke-rate-daily/1 projection when it is current. Zero calls flag "wiring defect"; a pinned skill with no install record is "not installed" (unknown while /skill-doctor is unmeasured); a called skill the manifest does not pin is "unpinned". The practice-slot table marks the orchestration-frameworks row. An unmeasured value never reads as zero. - Tokens saved: tools/local-pages/token_tools_now.py runs each token tool's own report command (rtk gain, headroom agent-savings and output-savings, context-mode doctor) and records its exit code, run time, version and own estimate in token-tools-now.json. The page shows each beside its command, labels the token-window counters as client counters, and never sums across tools, evidence classes or windows. - Research queue: research-queue.tsv rows and research-state.json's resume order. The #1012 Claude read's fixes are folded in. B1: the email mask moves into the shared sanitizer and matches after its per-token decoding (CPython html.unescape and urllib.parse.unquote, cited at v3.13.16), so @, an encoded dot (%2E or .), %2540 and a semicolon-less @ are omitted on every page; the old page-local mask left all five readable. B2: each section's label follows what it renders, and every partial section names its reason. B3: each section and the count strip render in their own guard, so a scalar codex_top_lanes_M or an integer above 1e308 degrades only its own section. The receipt lists only the not-wired inputs the page rendered. source_policy.json gains a command_center role map with sixteen exact repo and state paths, read through CommandCenterReads, which extends the Architecture reader (bounded, no-follow, protected names, no user root). Reports past their limit read "stale" with their age; times recorded as a time of day stay as recorded. tools/skill-usage/render_units.py renders reviewed user units that keep the three skill reports current: hourly, the host report (91 s measured, including the $0 zero-turn claude -p /skill-doctor, with --claude-timeout 120 because the 30 s default expired once under load) and the Claude lanes sweep (198 s and a 1.9 GB peak, projected from 181 MB to 26 KB by systemd/claude-lanes.jq); daily, the Codex lanes report, which had not finished after 25 minutes, so its completion time is unmeasured. Each step renames a finished report into place. The evidence manifest records the new hashes of source_policy.json and the skill-usage README. Tests cover each section, unknown versus zero, staleness, hostile types and strings, privacy (eight email forms, decoded twice) and the exact grants; 33 fail-before mutations of this change each fail them. The unit tests round-trip each ExecStart through systemd quoting and pass systemd-analyze verify. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
d147cc4 to
b805c5e
Compare
|
@codex review |
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
…ens, skills, manifests and owner items
command_center_view.py renders command-center.html, linked first from the
index and second in the navigation. Its six sections reuse what each refresh
already reads, with no new collector and no new source_policy.json grant:
- Sessions and lanes: the Fleet observation (live Codex lanes, Claude
sessions, reads in flight, parked lanes and the hcom roster's state age)
and cc-now.json cc_agents.running, as "name (task)" text or
{name, task, model} rows.
- PR waves: cc-now.json in_review and landings_today. Optional head, round,
next_gate, blockers and follow_ups fields are documented in the README;
an absent field reads "not recorded".
- Tokens saved: token_efficiency and token_use_24h as the CC reports them,
with the window from the source or a field-name suffix and nothing summed.
Token use by lane is the page's only chart: one hue, bars beside the
numbers in the same table.
- SOTA skill invoke rates: Fleet tracking's per-lane skill_invocations
family, where UNKNOWN stays distinct from zero.
- Compounding manifests: the committed readiness and evidence manifests,
read through ArchitectureReads under the existing architecture_readiness
and architecture_registry grants. Their hashes join the custody table and
the receipt's command_center block.
- Waiting on you: waiting_on_owner, with its detail and dates.
A missing input renders "missing input: <name>", an unapproved manifest
"unreadable (SourcePolicyError)", and a view failure publishes an UNREPORTED
placeholder; none stops the refresh. The token-report manifest, the
skill_usage.py reports and research-queue.tsv read "not wired" (no grant),
and the final-stack manifest "pending #1007". After the shared sanitizer the
page also masks email addresses.
tests/test_local_pages_command_center.py covers the fixture build, stated
gaps, the optional PR fields, the index link and privacy; it reads
LANDING_PROHIBITED_NAMES at test time. Two existing tests now count the new
output.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tration landscape on the command-center page The owner asked for the whole ecosystem on one page, so the command center grows from six sections to nine, still from existing producers only: - Orchestration: the CC's recorded orchestration-frameworks resolution and the same slot in cc-native-practice slots-final.json, the landing queue, the co-op's GPT read queue (read-queue-now.json) and the Adoption snapshot's orchestration tool calls by role. - Resolution landscape: each matrix winner's component, pin, evidence class, lifecycle stages and platforms, with the W6 final columns (verdict, run pin, upstream E2E at the pin, invoke evidence) as recorded or "not recorded". Each winner's repository is matched to cc-now.json mirrors.pins by the version its tag names or a commit prefix, and a winner without a mirror says so. Terminal states come only from final-stack.json and read "pending #1008/#1007" until it exists. The committed north-star readiness layers follow with the same columns; the CC's program, mirrors, rulings and ten-layer plan render as given. - SOTA skill invoke rates: one row per skill pinned in adoption/skills/manifest.json (source@ref, linked only for https, and path), joined with the 7-day counts per client from skill_usage.py and child-usage.mjs, or from #970's skill-invoke-rate-daily/1 projection when it is current. Zero calls flag "wiring defect"; a pinned skill with no install record is "not installed" (unknown while /skill-doctor is unmeasured); a called skill the manifest does not pin is "unpinned". The practice-slot table marks the orchestration-frameworks row. An unmeasured value never reads as zero. - Tokens saved: tools/local-pages/token_tools_now.py runs each token tool's own report command (rtk gain, headroom agent-savings and output-savings, context-mode doctor) and records its exit code, run time, version and own estimate in token-tools-now.json. The page shows each beside its command, labels the token-window counters as client counters, and never sums across tools, evidence classes or windows. - Research queue: research-queue.tsv rows and research-state.json's resume order. The #1012 Claude read's fixes are folded in. B1: the email mask moves into the shared sanitizer and matches after its per-token decoding (CPython html.unescape and urllib.parse.unquote, cited at v3.13.16), so @, an encoded dot (%2E or .), %2540 and a semicolon-less @ are omitted on every page; the old page-local mask left all five readable. B2: each section's label follows what it renders, and every partial section names its reason. B3: each section and the count strip render in their own guard, so a scalar codex_top_lanes_M or an integer above 1e308 degrades only its own section. The receipt lists only the not-wired inputs the page rendered. source_policy.json gains a command_center role map with sixteen exact repo and state paths, read through CommandCenterReads, which extends the Architecture reader (bounded, no-follow, protected names, no user root). Reports past their limit read "stale" with their age; times recorded as a time of day stay as recorded. tools/skill-usage/render_units.py renders reviewed user units that keep the three skill reports current: hourly, the host report (91 s measured, including the $0 zero-turn claude -p /skill-doctor, with --claude-timeout 120 because the 30 s default expired once under load) and the Claude lanes sweep (198 s and a 1.9 GB peak, projected from 181 MB to 26 KB by systemd/claude-lanes.jq); daily, the Codex lanes report, which had not finished after 25 minutes, so its completion time is unmeasured. Each step renames a finished report into place. The evidence manifest records the new hashes of source_policy.json and the skill-usage README. Tests cover each section, unknown versus zero, staleness, hostile types and strings, privacy (eight email forms, decoded twice) and the exact grants; 33 fail-before mutations of this change each fail them. The unit tests round-trip each ExecStart through systemd quoting and pass systemd-analyze verify. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…n_pin (W4 PR 2) scripts/final_stack.py joins the landscape verdict rows, the planned layers, the committed component evidence matrix, the completed saturation-ledger sweeps and report, research state, the verdict-wave registry, the newest seeds file and the run-pin sources (the trading uv.lock, the adoption pin files, manifests/stack.json and runtime-target.json#/engine) into catalogs/landscape/final-stack.json: deterministic, no clock, every read inside the repository root. Status is the first match of unswept, no-winner, reopened, converged, current; v1 is 30 reopened, 2 no-winner, 2 unswept, 0 current, 0 converged. Free-text pins parse only in four exact forms and are otherwise flagged unpinned or unparsed. --check fails on byte drift, a changed source hash, a layer without exactly one landscape, research-state or matrix row, a planned-layer collision, an inconsistent index or private content; run-pin and drift flags and --today next_review flags exit 0 in v1. catalogs/landscape/planned-layers.json adds catalysts-sentiment and judgment-features from the approved north-star plan's ten-layer table. CI runs the check and a report-only freshness step after the new-host grand list; the adoption-bootstrap path filters list the script. The two new landscape JSON files are granted as Architecture supplements and the script as an inventory grant (count 93 -> 94, as #964 did), so the Architecture refresh keeps reading every landscape file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fold both review families with failing-first privacy and reuse checks, ranked run precedence, exact uv root selection, explicit query and report semantics, and derived Architecture exclusions. Preserve pure data construction and reuse shared native publication mechanisms.
Fold CC, Astra and Codex micro findings with failing-first native account and email plants, deterministic check mode, preserved publication failure state, covered planned layers and corrected dependent citations. Retain pinned captures and adjacent caller evidence for review.
b805c5e to
895f2cc
Compare
…ens, skills, manifests and owner items
command_center_view.py renders command-center.html, linked first from the
index and second in the navigation. Its six sections reuse what each refresh
already reads, with no new collector and no new source_policy.json grant:
- Sessions and lanes: the Fleet observation (live Codex lanes, Claude
sessions, reads in flight, parked lanes and the hcom roster's state age)
and cc-now.json cc_agents.running, as "name (task)" text or
{name, task, model} rows.
- PR waves: cc-now.json in_review and landings_today. Optional head, round,
next_gate, blockers and follow_ups fields are documented in the README;
an absent field reads "not recorded".
- Tokens saved: token_efficiency and token_use_24h as the CC reports them,
with the window from the source or a field-name suffix and nothing summed.
Token use by lane is the page's only chart: one hue, bars beside the
numbers in the same table.
- SOTA skill invoke rates: Fleet tracking's per-lane skill_invocations
family, where UNKNOWN stays distinct from zero.
- Compounding manifests: the committed readiness and evidence manifests,
read through ArchitectureReads under the existing architecture_readiness
and architecture_registry grants. Their hashes join the custody table and
the receipt's command_center block.
- Waiting on you: waiting_on_owner, with its detail and dates.
A missing input renders "missing input: <name>", an unapproved manifest
"unreadable (SourcePolicyError)", and a view failure publishes an UNREPORTED
placeholder; none stops the refresh. The token-report manifest, the
skill_usage.py reports and research-queue.tsv read "not wired" (no grant),
and the final-stack manifest "pending #1007". After the shared sanitizer the
page also masks email addresses.
tests/test_local_pages_command_center.py covers the fixture build, stated
gaps, the optional PR fields, the index link and privacy; it reads
LANDING_PROHIBITED_NAMES at test time. Two existing tests now count the new
output.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tration landscape on the command-center page The owner asked for the whole ecosystem on one page, so the command center grows from six sections to nine, still from existing producers only: - Orchestration: the CC's recorded orchestration-frameworks resolution and the same slot in cc-native-practice slots-final.json, the landing queue, the co-op's GPT read queue (read-queue-now.json) and the Adoption snapshot's orchestration tool calls by role. - Resolution landscape: each matrix winner's component, pin, evidence class, lifecycle stages and platforms, with the W6 final columns (verdict, run pin, upstream E2E at the pin, invoke evidence) as recorded or "not recorded". Each winner's repository is matched to cc-now.json mirrors.pins by the version its tag names or a commit prefix, and a winner without a mirror says so. Terminal states come only from final-stack.json and read "pending #1008/#1007" until it exists. The committed north-star readiness layers follow with the same columns; the CC's program, mirrors, rulings and ten-layer plan render as given. - SOTA skill invoke rates: one row per skill pinned in adoption/skills/manifest.json (source@ref, linked only for https, and path), joined with the 7-day counts per client from skill_usage.py and child-usage.mjs, or from #970's skill-invoke-rate-daily/1 projection when it is current. Zero calls flag "wiring defect"; a pinned skill with no install record is "not installed" (unknown while /skill-doctor is unmeasured); a called skill the manifest does not pin is "unpinned". The practice-slot table marks the orchestration-frameworks row. An unmeasured value never reads as zero. - Tokens saved: tools/local-pages/token_tools_now.py runs each token tool's own report command (rtk gain, headroom agent-savings and output-savings, context-mode doctor) and records its exit code, run time, version and own estimate in token-tools-now.json. The page shows each beside its command, labels the token-window counters as client counters, and never sums across tools, evidence classes or windows. - Research queue: research-queue.tsv rows and research-state.json's resume order. The #1012 Claude read's fixes are folded in. B1: the email mask moves into the shared sanitizer and matches after its per-token decoding (CPython html.unescape and urllib.parse.unquote, cited at v3.13.16), so @, an encoded dot (%2E or .), %2540 and a semicolon-less @ are omitted on every page; the old page-local mask left all five readable. B2: each section's label follows what it renders, and every partial section names its reason. B3: each section and the count strip render in their own guard, so a scalar codex_top_lanes_M or an integer above 1e308 degrades only its own section. The receipt lists only the not-wired inputs the page rendered. source_policy.json gains a command_center role map with sixteen exact repo and state paths, read through CommandCenterReads, which extends the Architecture reader (bounded, no-follow, protected names, no user root). Reports past their limit read "stale" with their age; times recorded as a time of day stay as recorded. tools/skill-usage/render_units.py renders reviewed user units that keep the three skill reports current: hourly, the host report (91 s measured, including the $0 zero-turn claude -p /skill-doctor, with --claude-timeout 120 because the 30 s default expired once under load) and the Claude lanes sweep (198 s and a 1.9 GB peak, projected from 181 MB to 26 KB by systemd/claude-lanes.jq); daily, the Codex lanes report, which had not finished after 25 minutes, so its completion time is unmeasured. Each step renames a finished report into place. The evidence manifest records the new hashes of source_policy.json and the skill-usage README. Tests cover each section, unknown versus zero, staleness, hostile types and strings, privacy (eight email forms, decoded twice) and the exact grants; 33 fail-before mutations of this change each fail them. The unit tests round-trip each ExecStart through systemd quoting and pass systemd-analyze verify. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…R rows, keep unmeasured skill defects unknown The final commit of #1012's last wave. It folds Astra's first read of a737ef9 (CHANGES_REQUESTED: one P1 and two P2s) into the wording commit the final Claude delta asked for. - P1: the shared email mask now takes the whole local part RFC 5322 section 3.4.1 allows: a quoted string such as "reviewer"@example.org, whose quotes may be percent- or entity-encoded, or a run of atext from its first letter or digit, including ! ' { } = ? and &. The slash is left out, so a URL path such as /@handle is not read as an address. CPython's address parser accepts both forms (Lib/email/_parseaddr.py getaddrspec, lines 365-379, and getquote, line 463, at the v3.13.16 mirror cbc944f4). - The mask reads the whole text with each token decoded, so a local part split across tokens by a quote, space or apostrophe is found whole. - It masks exactly where decoding changed nothing, and omits whole any decoded token the address touches. - It is anchored at the at sign, and a backslash in a quoted local part always opens a quoted pair, so its cost is linear. text() on a 16,000-character run takes 0.003 s, where a737ef9 took 2.5 s under load. This also resolves the 50977b0 micro's (a)5. - A full live build takes 43.2 s, against 41.3 s at a737ef9 from the same state. On 283,448 unique strings from the live inputs, catalogs, manifests and repository Markdown, its output equals a737ef9's. - The pages and token-tools-now.json share the mask. The systemd unit exemptions and the public-string controls are unchanged. - P2: an in_review row that is not an object is rejected with a stated gap naming the count. PR waves reads partial, "No pull requests in review." is kept for a valid empty list, and the count strip counts the accepted rows only. - P2: the number of pinned skills with no 7-day call counts only the skills with a measured 7-day column. With none measured it is null in the receipt and UNKNOWN in the summary and strip. With some measured, the strip reads "N of M measured", and the receipt adds measured_skills and pinned_skills. - From the final Claude delta: the sanitizer docstring and the README say a dotted template-unit instance still masks (openvpn-client@site.conf.service becomes "[email omitted].service"), and a test pins it. - #1008 merged at 2026-10-11T21:34:23Z (569bbc5) without final-stack.json, so the page's pending label, from one constant, the README and the two pinning assertions read "pending #1007 (#1008 landed 2026-10-11 21:34:23Z)". The regressions use Astra's probe inputs. They check the decoded page, receipt and token report for unique planted local-part and domain text, so they need no address grammar of their own. The 9 new or changed tests fail at a737ef9 (119 failures, counting subtests), and Astra's own three probes fail there and pass here. A guard test runs JSON-escaped shell text before an at sign in a child process with a timeout. It fails on the first draft of the quoted-local pattern, whose backslash had two parses (one live build spent 90 s there), and passes here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…urces (#1025) #1018 (791eab0) moved a row in catalogs/landscape/skills-lifecycle.json after #1007 (c2dee17) had bound that file's sha256 in catalogs/landscape/final-stack.json. Each PR was green on its own base; together they leave main's `python3 scripts/final_stack.py --check` failing (validate-shard-0, and tests.test_final_stack in shard 4). This commit is the generator's own output: `python3 scripts/final_stack.py --write` on main 791eab0, which updates the one source hash and re-registers the manifest in manifests/evidence.json. No other byte changes. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ens, skills, manifests and owner items
command_center_view.py renders command-center.html, linked first from the
index and second in the navigation. Its six sections reuse what each refresh
already reads, with no new collector and no new source_policy.json grant:
- Sessions and lanes: the Fleet observation (live Codex lanes, Claude
sessions, reads in flight, parked lanes and the hcom roster's state age)
and cc-now.json cc_agents.running, as "name (task)" text or
{name, task, model} rows.
- PR waves: cc-now.json in_review and landings_today. Optional head, round,
next_gate, blockers and follow_ups fields are documented in the README;
an absent field reads "not recorded".
- Tokens saved: token_efficiency and token_use_24h as the CC reports them,
with the window from the source or a field-name suffix and nothing summed.
Token use by lane is the page's only chart: one hue, bars beside the
numbers in the same table.
- SOTA skill invoke rates: Fleet tracking's per-lane skill_invocations
family, where UNKNOWN stays distinct from zero.
- Compounding manifests: the committed readiness and evidence manifests,
read through ArchitectureReads under the existing architecture_readiness
and architecture_registry grants. Their hashes join the custody table and
the receipt's command_center block.
- Waiting on you: waiting_on_owner, with its detail and dates.
A missing input renders "missing input: <name>", an unapproved manifest
"unreadable (SourcePolicyError)", and a view failure publishes an UNREPORTED
placeholder; none stops the refresh. The token-report manifest, the
skill_usage.py reports and research-queue.tsv read "not wired" (no grant),
and the final-stack manifest "pending #1007". After the shared sanitizer the
page also masks email addresses.
tests/test_local_pages_command_center.py covers the fixture build, stated
gaps, the optional PR fields, the index link and privacy; it reads
LANDING_PROHIBITED_NAMES at test time. Two existing tests now count the new
output.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tration landscape on the command-center page The owner asked for the whole ecosystem on one page, so the command center grows from six sections to nine, still from existing producers only: - Orchestration: the CC's recorded orchestration-frameworks resolution and the same slot in cc-native-practice slots-final.json, the landing queue, the co-op's GPT read queue (read-queue-now.json) and the Adoption snapshot's orchestration tool calls by role. - Resolution landscape: each matrix winner's component, pin, evidence class, lifecycle stages and platforms, with the W6 final columns (verdict, run pin, upstream E2E at the pin, invoke evidence) as recorded or "not recorded". Each winner's repository is matched to cc-now.json mirrors.pins by the version its tag names or a commit prefix, and a winner without a mirror says so. Terminal states come only from final-stack.json and read "pending #1008/#1007" until it exists. The committed north-star readiness layers follow with the same columns; the CC's program, mirrors, rulings and ten-layer plan render as given. - SOTA skill invoke rates: one row per skill pinned in adoption/skills/manifest.json (source@ref, linked only for https, and path), joined with the 7-day counts per client from skill_usage.py and child-usage.mjs, or from #970's skill-invoke-rate-daily/1 projection when it is current. Zero calls flag "wiring defect"; a pinned skill with no install record is "not installed" (unknown while /skill-doctor is unmeasured); a called skill the manifest does not pin is "unpinned". The practice-slot table marks the orchestration-frameworks row. An unmeasured value never reads as zero. - Tokens saved: tools/local-pages/token_tools_now.py runs each token tool's own report command (rtk gain, headroom agent-savings and output-savings, context-mode doctor) and records its exit code, run time, version and own estimate in token-tools-now.json. The page shows each beside its command, labels the token-window counters as client counters, and never sums across tools, evidence classes or windows. - Research queue: research-queue.tsv rows and research-state.json's resume order. The #1012 Claude read's fixes are folded in. B1: the email mask moves into the shared sanitizer and matches after its per-token decoding (CPython html.unescape and urllib.parse.unquote, cited at v3.13.16), so @, an encoded dot (%2E or .), %2540 and a semicolon-less @ are omitted on every page; the old page-local mask left all five readable. B2: each section's label follows what it renders, and every partial section names its reason. B3: each section and the count strip render in their own guard, so a scalar codex_top_lanes_M or an integer above 1e308 degrades only its own section. The receipt lists only the not-wired inputs the page rendered. source_policy.json gains a command_center role map with sixteen exact repo and state paths, read through CommandCenterReads, which extends the Architecture reader (bounded, no-follow, protected names, no user root). Reports past their limit read "stale" with their age; times recorded as a time of day stay as recorded. tools/skill-usage/render_units.py renders reviewed user units that keep the three skill reports current: hourly, the host report (91 s measured, including the $0 zero-turn claude -p /skill-doctor, with --claude-timeout 120 because the 30 s default expired once under load) and the Claude lanes sweep (198 s and a 1.9 GB peak, projected from 181 MB to 26 KB by systemd/claude-lanes.jq); daily, the Codex lanes report, which had not finished after 25 minutes, so its completion time is unmeasured. Each step renames a finished report into place. The evidence manifest records the new hashes of source_policy.json and the skill-usage README. Tests cover each section, unknown versus zero, staleness, hostile types and strings, privacy (eight email forms, decoded twice) and the exact grants; 33 fail-before mutations of this change each fail them. The unit tests round-trip each ExecStart through systemd quoting and pass systemd-analyze verify. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…R rows, keep unmeasured skill defects unknown The final commit of #1012's last wave. It folds Astra's first read of a737ef9 (CHANGES_REQUESTED: one P1 and two P2s) into the wording commit the final Claude delta asked for. - P1: the shared email mask now takes the whole local part RFC 5322 section 3.4.1 allows: a quoted string such as "reviewer"@example.org, whose quotes may be percent- or entity-encoded, or a run of atext from its first letter or digit, including ! ' { } = ? and &. The slash is left out, so a URL path such as /@handle is not read as an address. CPython's address parser accepts both forms (Lib/email/_parseaddr.py getaddrspec, lines 365-379, and getquote, line 463, at the v3.13.16 mirror cbc944f4). - The mask reads the whole text with each token decoded, so a local part split across tokens by a quote, space or apostrophe is found whole. - It masks exactly where decoding changed nothing, and omits whole any decoded token the address touches. - It is anchored at the at sign, and a backslash in a quoted local part always opens a quoted pair, so its cost is linear. text() on a 16,000-character run takes 0.003 s, where a737ef9 took 2.5 s under load. This also resolves the 50977b0 micro's (a)5. - A full live build takes 43.2 s, against 41.3 s at a737ef9 from the same state. On 283,448 unique strings from the live inputs, catalogs, manifests and repository Markdown, its output equals a737ef9's. - The pages and token-tools-now.json share the mask. The systemd unit exemptions and the public-string controls are unchanged. - P2: an in_review row that is not an object is rejected with a stated gap naming the count. PR waves reads partial, "No pull requests in review." is kept for a valid empty list, and the count strip counts the accepted rows only. - P2: the number of pinned skills with no 7-day call counts only the skills with a measured 7-day column. With none measured it is null in the receipt and UNKNOWN in the summary and strip. With some measured, the strip reads "N of M measured", and the receipt adds measured_skills and pinned_skills. - From the final Claude delta: the sanitizer docstring and the README say a dotted template-unit instance still masks (openvpn-client@site.conf.service becomes "[email omitted].service"), and a test pins it. - #1008 merged at 2026-10-11T21:34:23Z (569bbc5) without final-stack.json, so the page's pending label, from one constant, the README and the two pinning assertions read "pending #1007 (#1008 landed 2026-10-11 21:34:23Z)". The regressions use Astra's probe inputs. They check the decoded page, receipt and token report for unique planted local-part and domain text, so they need no address grammar of their own. The 9 new or changed tests fail at a737ef9 (119 failures, counting subtests), and Astra's own three probes fail there and pass here. A guard test runs JSON-escaped shell text before an at sign in a child process with a timeout. It fails on the first draft of the quoted-local pattern, whose backslash had two parses (one live build spent 90 s there), and passes here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Scope
Generate the final-stack report and its
is_definitive/run_pinreaders from recorded landscape, approved plans, sweeps, matrix evidence and declared installation pins. The correction removes the three final-stack gate reads by reusing the already classifiedcandidate.jsonpath for each separately scanned native publication record and preserves the rebased 332-location baseline. The earlier 333/330 measurements are pre-rebased147cc47evidence. Oversized records report a size refusal; retained source-pin fields and the three constant list-key coverage exclusions are documented accurately.895f2cc5e82589142e99b3b68051b55f9507d848; main pin:77185991ec9627e59473df5b4d7a11ca87b0461d; lane:lane:foundation.scripts/currency_due.py,tests/test_currency_due.pyandtools/local-pages/source_policy.json.b77c5d6d9e3c5f7a799e56fb4ab9a416f3d70665. Hosted checks and the CC carry/landing decision remain separate from local acceptance.SOTA sources
gate_reads.pyandpatch_policy.py: unmodified nativeGitTreeandderive_ci_protectedreturn 332 unclassified reads against the recorded 332, with zero final-stack entries. The snapshot SHA256 remains5ea8e4db0ab15115e5b1eec6c1939450514dc227e0f9308d865f661507c6c93d. Main's Converge 373 public stars and schedule weekly review intake #978 contributed the twoscripts/public_starred.pylocations.cmd/stdin.go:47-49,sources/stdin.go:18-25,sources/file.go:283andsources/common.go:72-141. Each actual JSON record uses a separate unframed native stdin call and is strictly below 25,000 serialized UTF-8 bytes. Native decoding and Expr boundary filters remain the matcher.source_pin/source_pin_kind; 40-hex commits merge into parsed commit fields.635500036e1705961315e86447f0fab0a8ddb309, PEP 503 and CPython tomllib support the earlier lock-root/input-normalization correction. The checked-in planned-layer source review binds the approved plan rows/hash through the native loader.Evidence-class table
local_integration, historicallocal_integrationlocal_integrationlocal_integrationlocal_integrationsource_review,local_integrationlocal_integrationnative_provenlocal_integration,native_provenThese are repository integration and synthetic-control results, not fresh model/provider/GPU or upstream Go-harness acceptance. Prior publication/scanner controls remain retained evidence: the held correction's five modules passed 223 tests in 293.031s, and the oversized-message control failed against the reviewed caller before passing locally. Those historical results are not counted as new carry-head test executions.
Rebase and decision record
docs/decisions/2026-10-11-final-stack-review-corrections.md#new-p1-classified-temporary-publication-readsrecords the reproduced failure and classified-temp repair. This carry changes only recomputed registry/grant integration and the two expressly authorized current baseline texts. The landed #1013 grants test is retained byte-for-byte from main, including its derived count and extra/missing/replaced/duplicate controls.The CC recomputation tool (
cc75b488675edfbec1aed7fe35988825217a26dae7d303b9a0a0f91530c212c6) handles its supported conflict forms. Its registry-insertion refusal and old literal-count assumption required the established hot-file protocol: retain main's registry, re-register owned merged bytes through nativeregister_file, and retain main's derived grants test. No literal was restored in the final tree.The full native range-diff shows seven
!because registry hashes/context, dropped literal-count patches and the authorized text changes differ. The scoped native range-diff shows seven=after excluding the evidence registry, grants test, source-policy grant context and the two documentation files. The stricter patch-ID check includes source policy and both documentation files, normalizing only the two authorized text changes; all seven pairs match. Full-range equality is not claimed.Follow-ups
Host evidence
No host receipt or platform status changes. Deterministic joins and synthetic publication controls do not establish live model/provider/GPU/trading acceptance. At b805c5e, hosted validate failed during the unchanged scanner installation because Sigstore's TUF CDN returned HTTP403; its validation-test step was skipped. The carry push re-runs hosted CI; a new hosted pass is not inferred from local results.
Checklist