Skip to content

Catalog freshness: report-only drift evidence (2026-10-05) - #727

Closed
github-actions[bot] wants to merge 1 commit into
mainfrom
automation/catalog-freshness
Closed

github-actions[bot] wants to merge 1 commit into
mainfrom
automation/catalog-freshness

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Catalog freshness: report-only drift evidence

The evidence is the current head of automation/catalog-freshness: the drift report under evidence/artifacts/catalog-freshness-<date>/drift.md and the receipt under evidence/receipts/catalog-freshness-<date>.json in this PR's diff. The workflow run that produced the head commit is linked from that receipt.

This PR is report-only; no selection or pin changed; pin bumps require a qualified receipt under evidence/artifacts/*/.

Lane: lane:shared. This report covers foundation and trading source observations; an existing explicit lane label is preserved for owner review.

SOTA sources

The current PR's drift manifest and receipt retain the upstream repository identities, selected pins and fetched release/source observations. They are source-review evidence, not new runtime acceptance.

PR metadata source reviewed at cli/cli v2.102.0: GitHub CLI create and edit. The hosted executable version is supplied by the runner image.

@github-actions github-actions Bot added the lane:shared Touches files owned by both lanes; needs both lanes' acknowledgement label Oct 5, 2026
@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator

Closed with a record by the PR triage of 2026-10-07 (the command center's ruling, item review-ns2604-coop-20261007T023012Z (the command center's PR-triage ruling of 2026-10-07; proposal by github-ci-finalize, triage-20261007.json)). Not merged; the branch automation/catalog-freshness stays on origin at 63da661.

What it holds: evidence/artifacts/catalog-freshness-20261005/ (drift.md, manifest-20261005.json); evidence/receipts/catalog-freshness-20261005.json

Superseded by: Overtaken by design: a report-only snapshot from Actions run 37275798906 (2026-10-05T07:33:15Z); f3ebf46 (#707, 55 minutes later) changed .github/workflows/catalog-freshness.yml and scripts/freshness_propose.py, and the workflow's next proposal run force-pushes automation/catalog-freshness (.github/workflows/catalog-freshness.yml:361) and opens a new PR when none is open (:373-374, :409). (confidence: medium: no newer freshness report has landed (the latest landed receipt is catalog-freshness-20260923); the replacement is by workflow design and has not yet been observed)

Reopen trigger: Only if the 2026-10-05 drift snapshot itself must land as evidence (for example to date a pin change to run 37275798906); otherwise the next proposal run (the scheduled run gated by CATALOG_FRESHNESS_PROPOSE, or a manual open_pr dispatch) opens a fresh PR. Reopen with gh pr reopen 727.

@seathatflowsinourveins
seathatflowsinourveins deleted the automation/catalog-freshness branch October 8, 2026 17:05
seathatflowsinourveins added a commit that referenced this pull request Oct 15, 2026
…oice, PR descriptions read back after publishing (#1169)

* Gap ledger: name native idle compaction, record enableArtifact false, read PR descriptions back

From the practice gap ledger of 2026-10-15 (rows C3-0006, A3-0031 and B2-0004,
each ruled ADOPT and confirmed by the co-op's Codex re-check or by the command
center's adjudication):

- context-compaction (C3-0006): compacting before an idle gap is native since
  2.1.299. Idle compaction compacts an interactive terminal conversation on the
  one-hour cache TTL with 200,000 or more tokens about 54 minutes after its last
  request, before the cache expires (CHANGELOG.md:97-98 at
  anthropics/claude-code@94506ff;
  settings-reference.md:2964-2983 at 2.1.300). The notes name it and keep it
  on, and the slot's mapping of the compact-before-an-idle-gap practice names
  it. The idleCompaction disposition stays declined (no override); its stale
  rollout reason now cites the 2.1.300 docs and the command center's ruling of
  2026-10-14 (leave it unset; false only for one session).
- settings-permissions (A3-0031, ledger slot new): enableArtifact false, read
  from NativeStack2604's user settings by an exact-key grep, is recorded as a
  host choice in a new claude:setting:enableArtifact disposition row (enabled,
  scope NativeStack2604, carrier host user settings). The template is
  unchanged: re-applying it keeps keys it does not mention
  (tools/adoption/apply_claude_settings.py:323-329).
- pr-review-pre-cue (B2-0004, ledger slot new): a PR description goes out from
  a temporary file with --body-file and is read back with gh pr view --json
  body before the PR is reported or cued. Measured 2026-10-11 on #991: updates
  over 262,144 UTF-8 bytes got HTTP 200 and GitHub kept the old description.
  The catalog-freshness propose step already wrote its description to a
  runner temp file and passed --body-file; it now reads the published
  description back and stops before reporting the PR when the two differ.
  #727's stored description is byte-identical to what the step writes for its
  lane (read 2026-10-15), and gh passes the file's bytes unchanged
  (cli/cli v2.102.0 create.go:336-341, edit.go:176-181).

Tests: tests/test_native_practice_ledger_rows_tokeff_new.py, 6 tests, 5 failed
on the base (the page render pin passed); in
tests/test_catalog_freshness_propose.py two tests drive the step's shell with a
synthetic gh that keeps or drops the description, and both failed on the base
in all 5 subtests. Native-practice modules: 106 OK (3 skipped). The 55
modules that read the changed files: 2,665 tests, 2,606 passed, 30 skipped;
the 29 others (25 tests.test_claude_usage_metrics errors, prometheus_client not
installed on this host; 4 tests.test_upstream_surface_watch CachedArtifactTests
failures, this host's cached upstream artifacts) fail the same way on the base.
validate rc 0.

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* Gap ledger tokeff-new fold: read-back failure stops the step, idleCompaction default-on, three neighbour rows

The command center's FULL read of #1169 at bf06685 passed with no P1. It ruled ONE fold, to be re-read as a delta.

- P2-1: tests/test_catalog_freshness_propose.py:1057's synthetic gh can now fail the read-back with no output, or return
  a different description. Two tests assert that the step exits 1 without reporting the PR, on the create and update
  paths. The propose step in .github/workflows/catalog-freshness.yml now stops on a failed read-back with its own
  message; before this commit it already exited 1 there, but silently.
- P2-2: catalogs/foundation/upstream-surface-dispositions.json:3714 moves claude:setting:idleCompaction from declined to
  default-on. The host leaves the native default alone (docs/decisions/2026-10-06-harness-context-budget-refresh.md:25),
  and the dispositions rules (:13-14) call that default-on. The pin at
  tests/test_native_practice_ledger_rows_tokeff_new.py:53 follows.
- P3: new rows for three keys:
  - claude:setting:disableArtifact, not-applicable (a deprecated alias of enableArtifact; settings-reference.md:5354-5360);
  - claude:env:DISABLE_AUTO_COMPACT, default-on (env-vars.md:450);
  - claude:env:CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS, default-on (env-vars.md:323).

Fail-first, with this commit's tests on git archive exports:
- At base 9cf1225, both read-back cases report the PR (exit 0).
- At bf06685, the failed read-back exits without its message.
- The new disposition test fails at bf06685 (declined), and the new rows' test errors there (no rows).
After: the two modules, tests.test_catalog_freshness_propose (91 tests) and tests.test_workflow_hardening (118) pass.
zizmor --offline reports no findings (3 suppressed), and validate rc is 0.

Co-Authored-By: Claude Opus 5.5 <[email protected]>

---------

Co-authored-by: Claude Opus 5.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:shared Touches files owned by both lanes; needs both lanes' acknowledgement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant