Skip to content

Prose-CI: gate + build stage + CI workflow - #2

Open
nickcottrell wants to merge 1 commit into
mainfrom
feat/prose-ci
Open

Prose-CI: gate + build stage + CI workflow#2
nickcottrell wants to merge 1 commit into
mainfrom
feat/prose-ci

Conversation

@nickcottrell

Copy link
Copy Markdown
Owner

Adds the gate (third role beside gen/'s fixer and instrument), a gated build stage that emits a provenance-stamped edition, and a CI workflow (check → build → artifact).

Expected: this PR's check is RED, on purpose

The gate is doing its job — it catches 6 real repeated sentences in manuscript/layered/. Two are likely intentional echoes (ch11 Kit3, ch06 oracle) → to be blessed in allow_repeats; two are redundant beats (ch02, ch10) → to be edited. Green lands once those verdicts are applied.

What's here

  • checks/ — deterministic gate; reuses scene_locks (locked prose inviolable, fail-closed on tamper). no-stutter (hard) + cadence (hard signature tics, warn on filler/metronome). keep/kill/listen via allow_repeats.
  • build/ — gate-first assembly of prologue + chapters (markers stripped) with front/back matter; emits build-manifest.json receipt.
  • .github/workflows/book.yml — the contribution gate.

🤖 Generated with Claude Code

Add the GATE -- the third role beside gen/'s fixer (detic) and instrument
(spuriosity/coupling-tensor). It passes/fails a draft and its exit code is the
CI contract.

checks/  -- deterministic gate, reuses scene_locks (locked prose inviolable,
            fail-closed on tamper; style checks see unlocked scenes only)
  no-stutter  hard: doubled scenes + repeated sentences; allow_repeats exempts
              blessed echoes (the keep/kill/LISTEN disposition, as data)
  cadence     hard: signature tics never recur; warn: filler density + metronomic
              sentence-length variance. Shares its tic lexicon with detic.
build/   -- the build STAGE: gate-first, then assemble prologue + chapters
            (markers stripped) with front/back matter. Emits a provenance-stamped
            edition + build-manifest.json receipt (git sha, gate status, wordcount).
.github/workflows/book.yml -- check -> build -> artifact on every PR. The
            open-source contribution gate.

Narrow the vestigial Python `build/` ignore to build/out/ so the build-stage
code is tracked while generated editions stay out.

Co-Authored-By: Claude Opus 4.8 (1M context) <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