Skip to content

Recognize native Loki archive names in portable adoption checks - #46

Merged
seathatflowsinourveins merged 2 commits into
mainfrom
codex/native-claude-resolution-20260921
Sep 21, 2026
Merged

seathatflowsinourveins merged 2 commits into
mainfrom
codex/native-claude-resolution-20260921

Conversation

@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator

The observability prerequisite check reported Loki missing when Grafana's official Linux x86-64 archive was already installed as loki-linux-amd64. Prefer loki, then recognize that upstream basename only on its matching platform. This keeps the check read-only and preserves the existing JSON and presence-only acceptance boundary.

The adoption guide and portable HTML now include retained before/after/absent-path results. With the same installed tools and scoped PATH, the baseline exits 2, the fixed checker exits 0, and omitting Loki's directory still exits 2. All reports explicitly keep runtime_acceptance_verified: false. Private host paths are omitted from the public artifact under its stated sanitization policy.

Validation: 104 focused project tests passed; independent review separately passed all 19 adoption tests and inspected the installed executable; catalog/integrity checks, exact HTML rebuild, whitespace and changed-source secret scan passed. These are project/integration checks, not a new Loki service or model E2E trial. No service, package, global PATH, account or model setting changed.

Upstream reference: Grafana's manual Loki installation.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@seathatflowsinourveins
seathatflowsinourveins merged commit 8154a77 into main Sep 21, 2026
4 checks passed
seathatflowsinourveins added a commit that referenced this pull request Sep 24, 2026
…staller agents, examples, committed project settings) (#196)

* Run every Claude child at max effort under an Ultracode main loop

Set effort: max in the five shipped agent definitions
(adoption/agents/claude/*.md), keeping their task-matched models; the
one-line change keeps them byte-identical to agent-lab's .claude/agents
copies, which receive the same edit.

Commit a project .claude/settings.json (byte-identical to the portable
ultracode example and agent-lab's committed project settings) so
single-repository cloud sessions on this repository start with Ultracode.
It carries neither effortLevel (a max there is silently dropped) nor
CLAUDE_CODE_EFFORT_LEVEL (any value but xhigh disables Ultracode, and max
there overrides every child's effort).

Update the Ultracode recipe: every child role at max with its task-matched
model, the coordinator at Ultracode (xhigh plus orchestration), the measured
constraints (max disables orchestration, cannot be persisted, and the
environment variable overrides all child efforts), the per-stage rule
(agent() calls pass effort: 'max'; a stage without it inherits xhigh) and
GitHub/cloud-session guidance (claude-code-action has no effort input: use
claude_args '--effort ultracode' or settings {"ultracode":true}, never
'--effort max' beside Ultracode). Note the child-effort change in the
native profile recipe.

Record the decision with its probes, alternatives and overturn conditions
in docs/decisions/2026-09-23-max-effort-default.md, linked from the Claude
user profile decision, and rehash the two recipes in manifests/evidence.json.

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

* Carry max effort through the examples, vendored lane and docs; fix the review findings

Rebased onto the current main (v2026.09.23.1 pinned by #148). The five
adoption/agents/claude definitions differ from that release, so
adoption/bootstrap.md now says they "changed after `v2026.09.23.1`", and
tests/test_adoption_docs_consistency.py treats what install_claude_profile.py
copies (the agent and hook directories, the MCP template) as install inputs,
matching a directory by its path, never its last component. The stale
v2026.09.23 notes are dropped from the bootstrap, platform, README and
next-host pages: the pinned release contains everything they described.

Examples: the four example agents and every agent() stage of
review-changes.js, readiness-audit.js and layer-verdict-lane.js bind effort
max with models unchanged; the three scripts are byte-identical to agent-lab
915e73e. The vendored lane now names blind-lane-reviewer, vendored beside it
and pinned under required_agents in vendored-lanes.json; SHA256SUMS,
vendored-lanes.json and two appended lane-provenance.json entries rebind the
new bytes. The contract suite pins max in ROUTING (which also clears the
routing failure the old vendored lane already had on main) and now rejects a
stage or agent at any other effort, a second effort line, MODEL drift, a
routing table that restates an agent differently, CLAUDE_CODE_EFFORT_LEVEL
or an effort cap in the settings, and instructions without the
`effort: 'max'` literal; of 24 new mutations, 22 fail on their named
assertion and two harmless edits do not.
examples/claude-native/CLAUDE.md takes the host's current worker sentence,
and AGENTS.md tells the coordinator to pass effort: 'max' on ad-hoc agent()
calls and to stay at xhigh.

Recipes and decision record: GitHub runs are non-interactive Agent SDK
runs whose Workflow launches go through normal permission evaluation;
autoContinueAtUsageLimit is no cost control and headless, SDK, GitHub and
background runs fail at a usage limit; the claude-code-action pin is "read
2026-09-23" without an input count; the action's one CI smoke is cited and no
Ultracode or effort run is claimed; /effort max is marked as not probed;
Q1/Q2 replace the confounded P3/P4/P7/P8 as the evidence that a persisted
max is dropped, and Q3 adds that a stage's effort wins over the frontmatter;
CLAUDE_CODE_EFFORT_LEVEL is never set. catalogs/foundation/decisions.json's
lean-workflow-child-routing activation names the max efforts and cites the
decision. A new test requires one "effort: max" frontmatter line in each
shipped agent.

Checks (raw): validate.py, validate_catalogs.py, evidence_manifest.py
--check, new_host_grand_list.py --check, build_ecosystem.py --check and
release_due.py --strict-if-repinned origin/main (exit 0, not strict: no
re-pin, nothing due) pass; the example suites pass as CI runs them
(sha256sum --check) and as their README runs them (envelope 207/207,
mutations 47/47, child-usage 16/16, usage-receipts 18/18, codex-envelope,
check-syntax); the named unittest modules and the related ones pass.

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

* Run the example contract suites in CI; fix the settings-example, adopt-step and concurrency wording

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

* Sync source-scout (maxTurns 100, foreground acceptance) and isolated-builder from agent-lab #46 (a7a67a3e)

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

* Rebase onto #145 and v2026.09.24.1: merge the secret guard into project settings, blind-adjudicator routing row, current agent-lab pins

- .claude/settings.json keeps main's secret-read deny rules and guard hook and adds
  the ultracode keys; the recipe and decision no longer call it byte-identical.
- bootstrap.md marks adoption/agents/claude and adoption/hooks/claude as changed after
  v2026.09.24.1; the lane test and lane files are #145's.
- child-usage mirror synced from agent-lab; examples routing table lists blind-adjudicator.

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

* Resolve the rebase review: current pin in the record, finish the macOS #94 cleanup, sync example agents

- The decision record names v2026.09.24.1 and the settings file main added (#182).
- The macOS step 4 re-pin note and next-host-stages' 'as the macOS page marks' go,
  since #94 is in the pinned tag.
- The four example agents are byte-identical to agent-lab's again (source-scout
  maxTurns 100 and the foreground-acceptance sentence), as the recipe states.
- The install-input docstring and comment name the secret-path guard's SHA256SUMS coverage.

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

---------

Co-authored-by: seathatflowsinourveins <234074349+seathatflowsinourveins@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@seathatflowsinourveins
seathatflowsinourveins deleted the codex/native-claude-resolution-20260921 branch September 25, 2026 18:47
seathatflowsinourveins added a commit that referenced this pull request Oct 11, 2026
…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 &commat;, an
encoded dot (%2E or &#46;), %2540 and a semicolon-less &#64 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>
seathatflowsinourveins added a commit that referenced this pull request Oct 11, 2026
…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 &commat;, an
encoded dot (%2E or &#46;), %2540 and a semicolon-less &#64 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>
seathatflowsinourveins added a commit that referenced this pull request Oct 11, 2026
…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 &commat;, an
encoded dot (%2E or &#46;), %2540 and a semicolon-less &#64 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>
seathatflowsinourveins added a commit that referenced this pull request Oct 11, 2026
…RTK figure RTK's, and close the token-report and long-token mask gaps

Round 2 of #1012, from the CC's adjudication of the Claude micro at
50977b0. Each fix has a test that fails at 2dfb3c8:

- An hcom roster that Fleet tracking could not read (fleet_data's UNKNOWN
  shape, or no tracking) renders its gap with the producer's status and
  reason, so Sessions reads partial instead of wired (Codex :156).
- token_tools_now.py destination() checks both the absolute path and its
  resolve(), as tools/skill-usage/render_units.py _external_path does, so a
  parent or ancestor that reaches the checkout through a symlink is refused
  before any tool runs (Codex :160).
- The count strip takes the RTK figure only from RTK's token-tools row, the
  token-window report whose name names RTK, or cc-now token_efficiency.rtk,
  and otherwise reads UNKNOWN. Mapping order no longer lets another tool's
  report stand in for it (Codex :1144).
- token_tools_now.py passes dict keys as well as values through the shared
  sanitizer, whose sanitize() projects values only, so the docstring's
  claim now holds. Two keys that project to one text keep both entries.
- A token over 4,096 characters is not decoded, so the shared email mask
  also matches the encoded at-sign and dot forms in place (%40, %2540, &#64
  with or without its semicolon, &#x40, &commat;, %2E, &#46, &period;), as
  b209afe's page-local mask did for %40 and &#64;.
- The shared email mask no longer reads a systemd template-unit name such
  as git-maintenance@daily.timer as an address: its last part may not be
  one of the eleven unit types systemd.unit(5) lists at systemd 259. Since
  the round-1 mask (50977b0), nine such paths on three architecture layer
  pages rendered as "[email omitted]".

The local-pages README states each behavior.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
seathatflowsinourveins added a commit that referenced this pull request Oct 11, 2026
…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 &commat;, an
encoded dot (%2E or &#46;), %2540 and a semicolon-less &#64 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>
seathatflowsinourveins added a commit that referenced this pull request Oct 11, 2026
…RTK figure RTK's, and close the token-report and long-token mask gaps

Round 2 of #1012, from the CC's adjudication of the Claude micro at
50977b0. Each fix has a test that fails at 2dfb3c8:

- An hcom roster that Fleet tracking could not read (fleet_data's UNKNOWN
  shape, or no tracking) renders its gap with the producer's status and
  reason, so Sessions reads partial instead of wired (Codex :156).
- token_tools_now.py destination() checks both the absolute path and its
  resolve(), as tools/skill-usage/render_units.py _external_path does, so a
  parent or ancestor that reaches the checkout through a symlink is refused
  before any tool runs (Codex :160).
- The count strip takes the RTK figure only from RTK's token-tools row, the
  token-window report whose name names RTK, or cc-now token_efficiency.rtk,
  and otherwise reads UNKNOWN. Mapping order no longer lets another tool's
  report stand in for it (Codex :1144).
- token_tools_now.py passes dict keys as well as values through the shared
  sanitizer, whose sanitize() projects values only, so the docstring's
  claim now holds. Two keys that project to one text keep both entries.
- A token over 4,096 characters is not decoded, so the shared email mask
  also matches the encoded at-sign and dot forms in place (%40, %2540, &#64
  with or without its semicolon, &#x40, &commat;, %2E, &#46, &period;), as
  b209afe's page-local mask did for %40 and &#64;.
- The shared email mask no longer reads a systemd template-unit name such
  as git-maintenance@daily.timer as an address: its last part may not be
  one of the eleven unit types systemd.unit(5) lists at systemd 259. Since
  the round-1 mask (50977b0), nine such paths on three architecture layer
  pages rendered as "[email omitted]".

The local-pages README states each behavior.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
seathatflowsinourveins added a commit that referenced this pull request Oct 11, 2026
…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 &commat;, an
encoded dot (%2E or &#46;), %2540 and a semicolon-less &#64 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>
seathatflowsinourveins added a commit that referenced this pull request Oct 11, 2026
…RTK figure RTK's, and close the token-report and long-token mask gaps

Round 2 of #1012, from the CC's adjudication of the Claude micro at
50977b0. Each fix has a test that fails at 2dfb3c8:

- An hcom roster that Fleet tracking could not read (fleet_data's UNKNOWN
  shape, or no tracking) renders its gap with the producer's status and
  reason, so Sessions reads partial instead of wired (Codex :156).
- token_tools_now.py destination() checks both the absolute path and its
  resolve(), as tools/skill-usage/render_units.py _external_path does, so a
  parent or ancestor that reaches the checkout through a symlink is refused
  before any tool runs (Codex :160).
- The count strip takes the RTK figure only from RTK's token-tools row, the
  token-window report whose name names RTK, or cc-now token_efficiency.rtk,
  and otherwise reads UNKNOWN. Mapping order no longer lets another tool's
  report stand in for it (Codex :1144).
- token_tools_now.py passes dict keys as well as values through the shared
  sanitizer, whose sanitize() projects values only, so the docstring's
  claim now holds. Two keys that project to one text keep both entries.
- A token over 4,096 characters is not decoded, so the shared email mask
  also matches the encoded at-sign and dot forms in place (%40, %2540, &#64
  with or without its semicolon, &#x40, &commat;, %2E, &#46, &period;), as
  b209afe's page-local mask did for %40 and &#64;.
- The shared email mask no longer reads a systemd template-unit name such
  as git-maintenance@daily.timer as an address: its last part may not be
  one of the eleven unit types systemd.unit(5) lists at systemd 259. Since
  the round-1 mask (50977b0), nine such paths on three architecture layer
  pages rendered as "[email omitted]".

The local-pages README states each behavior.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
seathatflowsinourveins added a commit that referenced this pull request Oct 12, 2026
…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 &commat;, an
encoded dot (%2E or &#46;), %2540 and a semicolon-less &#64 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>
seathatflowsinourveins added a commit that referenced this pull request Oct 12, 2026
…RTK figure RTK's, and close the token-report and long-token mask gaps

Round 2 of #1012, from the CC's adjudication of the Claude micro at
50977b0. Each fix has a test that fails at 2dfb3c8:

- An hcom roster that Fleet tracking could not read (fleet_data's UNKNOWN
  shape, or no tracking) renders its gap with the producer's status and
  reason, so Sessions reads partial instead of wired (Codex :156).
- token_tools_now.py destination() checks both the absolute path and its
  resolve(), as tools/skill-usage/render_units.py _external_path does, so a
  parent or ancestor that reaches the checkout through a symlink is refused
  before any tool runs (Codex :160).
- The count strip takes the RTK figure only from RTK's token-tools row, the
  token-window report whose name names RTK, or cc-now token_efficiency.rtk,
  and otherwise reads UNKNOWN. Mapping order no longer lets another tool's
  report stand in for it (Codex :1144).
- token_tools_now.py passes dict keys as well as values through the shared
  sanitizer, whose sanitize() projects values only, so the docstring's
  claim now holds. Two keys that project to one text keep both entries.
- A token over 4,096 characters is not decoded, so the shared email mask
  also matches the encoded at-sign and dot forms in place (%40, %2540, &#64
  with or without its semicolon, &#x40, &commat;, %2E, &#46, &period;), as
  b209afe's page-local mask did for %40 and &#64;.
- The shared email mask no longer reads a systemd template-unit name such
  as git-maintenance@daily.timer as an address: its last part may not be
  one of the eleven unit types systemd.unit(5) lists at systemd 259. Since
  the round-1 mask (50977b0), nine such paths on three architecture layer
  pages rendered as "[email omitted]".

The local-pages README states each behavior.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant