Skip to content

docs(contributing): describe the docs/now entry the NOW gates check (#5950) - #5952

Merged
gHashTag merged 1 commit into
masterfrom
claude/contributing-now-entries
Oct 4, 2026
Merged

gHashTag merged 1 commit into
masterfrom
claude/contributing-now-entries

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Summary

CONTRIBUTING.md described the NOW layout that was retired on 2026-08-20. This rewrites that section, ## NOW.md sync gates (Ring 033) (now ## NOW entries (one file per PR)), and item 4 of "Before you change code or specs" to match the code:

  • every PR adds one docs/now/<YYYY-MM-DD>-<slug>.md;
  • which workflow checks what, by job name (the two names are crossed);
  • two local commands that ask CI's own questions;
  • what .githooks/pre-commit runs with and without a tri binary, and that it reads the whole docs/now/ directory, so it cannot show that a change adds an entry;
  • tri now add needs cargo build --release -p tri, and a hand-written entry works too.

The format is not copied. The section points at docs/now/README.md (layout, date window) and at the docstring of tools/check_now_entry_shape.py (shape), with a one-line summary.

What the code says (master aca71b57f)

  • .github/workflows/now-sync-gate.yml:51,76-90: job check-now-freshness runs scripts/ci/now-sync-gate-diff.sh. In that script, :100-124 requires the range to ADD a docs/now/ entry, :207-260 requires the filename date to fall in [yesterday .. tomorrow] UTC plus a heading and a bullet, and :126-179 refuses an edit to docs/NOW.md without an Archive-Repair: trailer.
  • .github/workflows/check-now-freshness.yml:36,84-93: job check runs tools/check_now_entry_shape.py --self-check and then the real check. The shape is defined in tools/check_now_entry_shape.py:26-34 and enforced at :56-57,86-120.
  • .githooks/pre-commit:51-76: runs tri hooks pre-commit (cli/tri/src/hooks.rs:113) when a tri binary is found. Otherwise it runs scripts/tri check-now, which is t27c check-now (bootstrap/src/suite.rs:3158). Both read the docs/now/ directory (hooks.rs:298, suite.rs:3175-3215). Neither reads root NOW.md. When neither binary can run, the hook exits 2 (:77-85).
  • cli/tri/src/nownote.rs:23-49,148-182: tri now add writes # NOW -- <title> (<date>) / ## <title> (Closes #N) / - bullets.
  • Removed because the code no longer backs them:
    • phi-loop-ci.yml (59 lines) does not build t27c and does not run check-now.
    • No path in scripts/tri runs check-now before gen*/compile*.

Validation

$ PR_BASE_SHA=$(git merge-base origin/master HEAD) python3 tools/check_now_entry_shape.py
ok   docs/now/2026-10-04-contributing-describes-docs-now-entries.md

OK: 1 entr(y/ies) added, each well formed.

$ GITHUB_EVENT_NAME=pull_request PR_BASE_SHA=$(git merge-base origin/master HEAD) \
    PR_HEAD_SHA=$(git rev-parse HEAD) bash scripts/ci/now-sync-gate-diff.sh
NOW sync gate passed: docs/now/2026-10-04-contributing-describes-docs-now-entries.md (UTC window: 2026-10-03 .. 2026-10-05)

Docs only; no gate changes. Touches only the top of CONTRIBUTING.md (lines 10-27), not the "Specs and tests" lines that #5945 edits.

Closes #5950

🤖 Generated with Claude Code

…5950)

The "NOW.md sync gates (Ring 033)" section described the layout retired
on 2026-08-20: root NOW.md and docs/NOW.md kept aligned, docs/NOW.md
touched by every PR, a pre-commit hook reading root NOW.md's
"Last updated" line. The code now asks for one added
docs/now/<YYYY-MM-DD>-<slug>.md per PR (now-sync-gate.yml, job
check-now-freshness) in the shape tools/check_now_entry_shape.py
defines (check-now-freshness.yml, job check).

Rewrite the section to say that, point at docs/now/README.md and the
checker's docstring instead of copying the format, give the two local
validation commands, and describe what .githooks/pre-commit runs with
and without a tri binary. Item 4 of "Before you change code or specs"
now links to it. Docs only; no gate changes.

Closes #5950

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-04 07:58:21 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 42
PRs with All Checks Green 8
READY 2
FAILING 42
PENDING 0
NO CHECKS YET 0

These columns do not partition: 2 + 42 + 0 + 0 = 44, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=b45a356c2eb6 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@gHashTag
gHashTag merged commit 82428bf into master Oct 4, 2026
32 checks passed
gHashTag added a commit that referenced this pull request Oct 4, 2026
…on, drop their 'required' wording (Refs #5935)

Brings remove-now-gate (0d5424b) up to date with master (4499e27).
Three files conflicted.

- CONTRIBUTING.md: master's #5952 section is kept for what an entry is --
  one new docs/now/<YYYY-MM-DD>-<slug>.md, the shape pointed at the
  docstring of tools/check_now_entry_shape.py, `tri now add` needing
  `cargo build --release -p tri`, hand-written entries, the two local
  commands. Its "every PR adds one entry", the two CI workflow bullets
  (now-sync-gate.yml / check-now-freshness.yml) and the pre-commit
  freshness/exit-2 paragraph are replaced with this branch's truth: the
  NOW gate was removed by owner decision 2026-10-04 (#5935), an entry is
  optional, and tri now check, tri hooks pre-push, tri hooks now-gate and
  t27c check-now remain as tools anyone may run. Heading is now
  "NOW entries (optional, one file each)" and item 4's anchor follows it.
- docs/now/README.md: #5962's `cargo build --release -p tri` note and the
  shape-checker paragraph (docstring pointer, lowercase-slug caveat) are
  kept; "a second required gate", "scripts/verify.sh previews both
  questions" (that preview was removed in this branch) and the
  .githooks/pre-commit / scripts/pre-commit freshness claims are dropped.
  The History paragraph no longer implies CI refuses a docs/NOW.md edit:
  now-sync-gate-diff.sh still does when someone runs it, and no CI job
  has run it since #5935. Also corrected the branch's own line that said
  `tri hooks now-gate` runs the script (it reads the directory; only
  `tri hooks pre-push` runs the script), and "It cannot satisfy the gate"
  under "Files that are not entries".
- tools/census/*.txt: not hand-merged; re-blessed with `tri census pin
  --bless`, then `tri census pin --gate` printed PASS.

Census, merged tree against each parent:
- shell: workflow files read 63 (master 64, branch 63); jobs 85 (master
  86, branch 84); run: steps 278 (master 285, branch 276); runner-named
  257 (master 264, branch 255). Master added one job (loop-tools-gate.yml
  `harness`, one run: step) and one run: step in cli-tri.yml; this branch
  removed now-sync-gate.yml (one job, four run: steps) and three run:
  steps of the old `check` job. 86 - 1 = 85, 285 - 7 = 278, 264 - 7 = 257.
- quiet: equal to the branch (workflow files read 63, "named a path but
  not quiet" 159); master's 64 / 162 move by the same deleted file.
- fetches: equal to master's ledger (files read 46, lines naming either
  spelling 74, fetch sites 33, --paginate 11, asks whether the page
  filled 11); the merge moves nothing there, the branch's older 69 / 28 /
  7 / 10 came from before master's cli/tri changes.

Checked: scripts/ci/check_pr_branch_filters.py CLEAN (63 workflow files);
scripts/ci/test_now_gate_writes_nothing.py ok. Nothing compiled locally.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag added a commit that referenced this pull request Oct 4, 2026
…efs #5776)

PR #5951 (Closes #5935) merged as 57c2cfa and PR #5958 (Closes #5957)
as 6765d63, both on the owner's word. Master conflicts with #5952/#5962
were resolved before the merge; required checks and cli-tri green on the
merged heads. The live hooks on this machine come from the main checkout's
.githooks and stay old until that checkout takes master.

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.

docs(contributing): NOW section still describes NOW.md sync, not docs/now entries

1 participant