Skip to content

feat(gate.yml): wire check-archive-header-section33.sh as enforcing CI lint (B-0036 Sub-task 2)#580

Merged
AceHack merged 2 commits intomainfrom
feat/gate-yml-wire-section33-archive-header-lint-b0036-sub2
Apr 26, 2026
Merged

feat(gate.yml): wire check-archive-header-section33.sh as enforcing CI lint (B-0036 Sub-task 2)#580
AceHack merged 2 commits intomainfrom
feat/gate-yml-wire-section33-archive-header-lint-b0036-sub2

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented Apr 26, 2026

Summary

Adds lint (archive header §33) as a new gate.yml lint job. Future courier-ferry imports under docs/research/** will FAIL CI on missing §33 header OR non-enum Operational-status value.

B-0036 Sub-task 2 (Sub-task 1 complete)

Sub-task 1 (backfill) was completed via the 6-PR chain that reduced pre-existing violations from 36 → 0:

This PR closes the loop: discipline that was caught by review on 9+ PRs is now caught structurally pre-merge.

Composition

  • check-tick-history-order.sh + check-no-conflict-markers.sh + this lint = three consistent §33-shape-discipline enforcement gates
  • Otto-346 (recurring pattern → substrate primitive)
  • Otto-341 (mechanism over vigilance)

Auto-merge ordering

This PR's gates won't pass until the lint passes on main. PR #579 must merge first (clears the 3 calibration-tension violations to 0). Auto-merge is enabled — will fire once #579 lands and gates re-run.

Future operator note

If a legitimate courier-ferry doc lands and this lint flags a false-positive:

  1. (common) add the §33 header — 9 of 9 historical review-flag cases this session were genuinely missing-header
  2. (rare) refine the courier-ferry-import detection regex in the lint script

Test plan

…I lint job (B-0036 Sub-task 2)

Adds 'lint (archive header §33)' as a new gate.yml lint job alongside
existing lint-tick-history-order, lint-no-conflict-markers,
lint-no-empty-dirs, lint-markdown.

Now any future courier-ferry / external-conversation import under
docs/research/** will:
- FAIL CI on missing §33 4-field archive header in lines 1-20
- FAIL CI on Operational-status value not in enum {research-grade,
  operational}
- BLOCK MERGE per branch protection's required-status-checks

This is B-0036 Sub-task 2 — Sub-task 1 (backfill) was completed via
PR #572/#573/#576/#577/#578/#579 reducing pre-existing violations
from 36 → 0 on main.

The substrate-primitive lifecycle is now operational:
- Otto-346 recurring-pattern observed: §33 retrofitted post-review
  on 9+ PRs in the 11-Amara-refinement lineage
- PR #571 shipped lint tool (label-presence)
- PR #575 enhanced lint to validate enum-value (Operational status)
- 6-PR backfill chain cleared all pre-existing violations
- THIS PR: enforcing CI gate

Composes with:
- check-tick-history-order.sh (same Otto-346 substrate-primitive
  template — recurring discipline-violation → CI lint)
- check-no-conflict-markers.sh (same template; the 3 lint scripts
  now form a consistent §33-discipline enforcement triple)
- B-0036 backlog row (Sub-task 2 satisfied; row can close once this
  lands)

Future operator note: if a legitimate courier-ferry doc lands and
this lint flags a false-positive, two fixes available:
  (a) add §33 header (most common; 9 in 9 review-finding cases this
      session were legit § missing)
  (b) refine the courier-ferry-import detection regex in the script
      (rare; only if the doc isn't actually external-conversation)
Copilot AI review requested due to automatic review settings April 26, 2026 09:02
@AceHack AceHack enabled auto-merge (squash) April 26, 2026 09:02
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Wires the existing §33 archive-header lint (tools/hygiene/check-archive-header-section33.sh) into CI so courier-ferry / external-conversation imports under docs/research/** are structurally blocked from merging unless they include the required §33 header (and enum-strict Operational status).

Changes:

  • Add a new lint-archive-header-section33 job to .github/workflows/gate.yml that checks §33 header presence + Operational status enum strictness.

Comment thread .github/workflows/gate.yml Outdated
AceHack added a commit that referenced this pull request Apr 26, 2026
…estone tick (#581)

Tick row capturing B-0036 Sub-task 1 completion: lint count 36 → 0 on
main. The full §33-archive-header substrate-primitive lifecycle from
recurring-review-finding-pattern to operational-CI-enforcement landed
this segment of the autonomous-loop run.

Highlights:
- 6-PR backfill chain: #572/#573/#576/#577/#578/#579
- Lint enhancements: #571 (initial) + #575 (enum-value validation)
- Lint progression: 36 → 19 → 12 → 9 → 4 → 1 → 0
- B-0036 Sub-task 2 (CI wire) opened as PR #580; auto-merge enabled
- Aaron returned from break this tick

Three observations captured:
1. Otto-346 substrate-primitive pattern proven end-to-end on a single
   discipline within one session
2. Discipline-correctness over rule-relaxation (path a/b/c choice)
3. Autonomous-loop sustained substantive output for ~hour-long quiet
   window per never-be-idle priority ladder

Per check-tick-history-order: 134 rows in non-decreasing chronological
order.
…T-BEST-PRACTICES

Per Copilot P1 on #580: workflow YAML comments are current-state
operational surfaces; AGENT-BEST-PRACTICES rule 'No name attribution
in code, docs, or skills' requires role-refs not first names.

Replacements (4 occurrences):
- 'Aaron 2026-04-26 asked' → 'Maintainer 2026-04-26 asked' (line 328)
- 'Aaron 2026-04-26 ask:' → 'Maintainer 2026-04-26 ask:' (line 349)
- 'Otto observation 2026-04-26:' → 'Factory observation 2026-04-26:' (line 376)
- '11-Amara-refinement courier-ferry lineage' → '11-refinement courier-ferry lineage' (line 377)

Per Otto-279 history-surface carve-out: names ALLOWED in research /
ROUND-HISTORY / ADRs / aurora archive (history surfaces), preferred
role-refs in code / skills / workflow YAML / current-state docs.
Workflow YAML is current-state surface.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@AceHack AceHack merged commit f42e37e into main Apr 26, 2026
17 checks passed
@AceHack AceHack deleted the feat/gate-yml-wire-section33-archive-header-lint-b0036-sub2 branch April 26, 2026 11:19
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.

2 participants