Skip to content

docs: surface the encoding-loop disciplines in dev-loop.md + README + dev-loop.svg#120

Merged
emeraldleaf merged 1 commit into
mainfrom
docs/surface-encoding-disciplines
Jun 6, 2026
Merged

docs: surface the encoding-loop disciplines in dev-loop.md + README + dev-loop.svg#120
emeraldleaf merged 1 commit into
mainfrom
docs/surface-encoding-disciplines

Conversation

@emeraldleaf
Copy link
Copy Markdown
Owner

@emeraldleaf emeraldleaf commented Jun 5, 2026

Follow-up to #119. The 10 borrowings landed CLAUDE.md disciplines but didn't surface them in the docs/diagrams people read at-a-glance. This closes that gap.

  • docs/dev-loop.md: new "### The disciplines" subsection cataloging all 6 with layered enforcement
  • README.md: Continuous Rule Encoding callout names all 6 disciplines + /feature-spec value gate + hole-test
  • docs/dev-loop.svg: encoding-loop footer gets a "Disciplines →" row; rect extended; viewBox grown to fit

Now a reader of the README sees the disciplines, follows the link to dev-loop.md for the catalog, follows that to CLAUDE.md for canonical text. No silent rules.

Broken-link guard: exit 0.

Summary by CodeRabbit

  • Documentation
    • Expanded continuous rule encoding documentation with detailed process descriptions, including value gates and quality checks
    • Added disciplines section documenting enforcement mechanisms and validation strategies for development practices

…nd the diagram

Follow-up to #119. The 10 borrowings landed CLAUDE.md disciplines
(Presence in the loop, Continue is the verb) but didn't surface them
in dev-loop.md / README / dev-loop.svg — the docs and diagram people
read at-a-glance to understand the loop. A reader could see the loop
in the diagram, then open CLAUDE.md and find two disciplines they
weren't told about.

docs/dev-loop.md
- New "### The disciplines (encoded in CLAUDE.md 'Debugging Discipline')"
  subsection under "The reflexive step" — catalogs all 6 disciplines
  (cross-reference convention, file-move, doc-and-diagram, lean-CLAUDE.md,
  presence-in-loop, continue-is-the-verb) with their layered enforcement
  (which 4 have mechanical floors, which 2 are convention-tier only).
  Points at CLAUDE.md "Debugging Discipline" for full text.

README.md
- "Continuous Rule Encoding" callout adds a sentence naming the 6
  disciplines + the lean-CLAUDE.md / presence / continue framings.
  Adds /feature-spec's value gate (3 CXO questions) and hole-test
  to the feature-handoff description.

docs/dev-loop.svg (the rendered diagram on the README)
- "Continuous Rule Encoding" footer in the diagram gets a new
  "Disciplines →" row listing all 6 by name, with a muted note
  about the split between mechanical and convention-tier
- Rect height extended 180 → 220, viewBox height 1940 → 1985,
  bottom footer line moved 1915 → 1960 to avoid overlap

This makes the README a faithful surface-up of what's actually in
CLAUDE.md. Anyone reading the diagram now sees the disciplines and
can follow the pointer to the canonical rule text.

Verification:
- broken-link guard on README + dev-loop.md: exit 0
- SVG renders without overlap (rect extended, footer pushed down,
  viewBox grown by 45px to match)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 5, 2026

Too much diff to scan? Review this PR in Change Stack to start with the highest-impact changes.

Review Change Stack

Walkthrough

The PR expands documentation for the continuous rule encoding process across two files. README.md updates the "Continuous Rule Encoding — the compounding feedback loop" section to detail six encoding disciplines with enforcement tiers. docs/dev-loop.md adds a new "disciplines" subsection that catalogs convention-tier rules and their layered enforcement mechanisms sourced from CLAUDE.md.

Changes

Encoding Disciplines Documentation

Layer / File(s) Summary
Encoding disciplines catalog and enforcement
README.md, docs/dev-loop.md
README expands the feature spec handoff process to include value gate and hole-test, enumerating six disciplines with mechanical vs. convention-tier enforcement. dev-loop.md introduces a new disciplines subsection with a table cataloging convention-tier rules and their layered enforcement mechanisms (hooks/CI audits/commands or convention + required checks), positioning these discipline rules within the overall dev loop structure.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • emeraldleaf/NextAurora#119: Main PR expands the README/docs description of the /feature-spec handoff and discipline catalog to align with the "Value gate" and "Hole-test" rigor plus the updated "Debugging Discipline"/dev-loop framing.
  • emeraldleaf/NextAurora#116: Both PRs update the same encoding-loop documentation in README.md and docs/dev-loop.md, specifically extending the /feature-spec-driven "Continuous Rule Encoding" workflow.
  • emeraldleaf/NextAurora#20: While PR #20 introduces docs/dev-loop.md with tooling/diagram assets, the main PR further adds/expands a "disciplines" section inside that dev-loop flow documentation.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: surfacing encoding-loop disciplines across dev-loop.md, README, and the dev-loop.svg diagram, matching the PR objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/surface-encoding-disciplines

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/dev-loop.md`:
- Around line 135-145: The "Presence in the loop, not approval at the gate" row
currently misattributes enforcement to the `/feature-spec` "Significance Check";
update that mapping so it cites the actual `/feature-spec` mechanism that
enforces presence (or reword the row to match reality). Specifically, in
docs/dev-loop.md change the enforcement cell for "Presence in the loop, not
approval at the gate" to reference `/feature-spec` Value Gate (or otherwise
remove the incorrect "Significance Check — ADR or not?" claim) so the table
accurately maps the "Presence in the loop" discipline to the `/feature-spec`
Value Gate (or a corrected enforcement description).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 332dca28-6e9c-4112-a804-8e12a82fb014

📥 Commits

Reviewing files that changed from the base of the PR and between 4482640 and a852448.

⛔ Files ignored due to path filters (1)
  • docs/dev-loop.svg is excluded by !**/*.svg
📒 Files selected for processing (2)
  • README.md
  • docs/dev-loop.md

Comment thread docs/dev-loop.md
Comment on lines +135 to +145
| Discipline | One-line meaning | Layered enforcement |
|---|---|---|
| **Cross-reference convention** (`See CLAUDE.md.`) | Every paraphrase of a CLAUDE.md rule ends with the literal token so it's greppable | PostToolUse hook on Edit + `/check-rules` audit |
| **File-move discipline** | When renaming/deleting a file, grep the repo for refs to the old path and update them in the same PR | PostToolUse hook on Bash (`check-file-moves.sh`) + CI broken-link audit + CodeRabbit `**` path_instruction |
| **Doc-and-diagram discipline** | Docs + paired SVG diagrams are the review surface, not byproducts — when behavior changes, the depiction changes in the same PR | CI diagram-pair audit + CodeRabbit topology-file path_instructions |
| **Lean-CLAUDE.md** | One-paragraph maximum per rule in CLAUDE.md; detail moves to docs/ or skills/; CLAUDE.md gets a pointer | CI size budget (soft 400 lines, hard 500) |
| **Presence in the loop, not approval at the gate** | For non-pattern-conforming features, stay present during build, don't just review the diff at the end | Convention — relies on the `/feature-spec` Significance Check to flag when this applies |
| **Continue is the verb that gets you in trouble. Build is not.** | Prototypes get a token budget + stop-time up front; experiments end at sunset, not when interest runs out | Convention — relies on the `/feature-spec` Value Gate to surface "this is an experiment, not a feature" early |

The first four have **mechanical floors** (hooks, CI guards, size budgets); the last two are **convention-tier only** because they're judgment calls about presence and stopping — no machine catches them. That's why they're named explicitly in CLAUDE.md — naming them is what makes them survive in practice.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify claimed enforcement mechanisms exist

# Check for CI diagram-pair audit workflow or step
echo "=== Searching for diagram-pair audit in CI ==="
rg -n "diagram.*pair|pair.*diagram" .github/workflows/

# Check for Significance Check in feature-spec command
echo -e "\n=== Searching for Significance Check in feature-spec ==="
rg -nC3 -i "significance.*check" .claude/commands/feature-spec.md

Repository: emeraldleaf/NextAurora

Length of output: 883


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== CI diagram-pair audit context (ci.yml around line 207) ==="
python3 - <<'PY'
import itertools,sys,os
path=".github/workflows/ci.yml"
start=190
end=240
with open(path,'r',encoding='utf-8') as f:
    for i,line in enumerate(f, start=1):
        if start <= i <= end:
            print(f"{i}:{line.rstrip()}")
        if i > end:
            break
PY

echo -e "\n=== feature-spec Significance check context ==="
python3 - <<'PY'
path=".claude/commands/feature-spec.md"
needle="Significance check"
start=1
# find first occurrence line number
with open(path,'r',encoding='utf-8') as f:
    lines=f.readlines()
ln=None
for idx,l in enumerate(lines, start=1):
    if needle.lower() in l.lower():
        ln=idx
        break
if ln is None:
    print("No matching heading found.")
    sys.exit(0)
s=max(1, ln-40)
e=min(len(lines), ln+80)
for i in range(s, e+1):
    print(f"{i}:{lines[i-1].rstrip()}")
PY

Repository: emeraldleaf/NextAurora

Length of output: 9702


🏁 Script executed:

#!/bin/bash
set -euo pipefail

rg -n -i "presence|loop|approval|gate|stay present|during build|build|ship|implementation" .claude/commands/feature-spec.md

Repository: emeraldleaf/NextAurora

Length of output: 2497


Fix the enforcement mapping for the “Presence in the loop” discipline in docs/dev-loop.md

  • “CI diagram-pair audit” matches .github/workflows/ci.yml (“Diagram-pair audit — every .excalidraw needs a sibling .svg”).
  • “Presence in the loop, not approval at the gate” incorrectly claims it relies on /feature-spec’s “Significance check — ADR or not?”; that section only decides whether to draft a sibling ADR and doesn’t enforce staying present during build/relying on end-of-diff review. Update the row to cite the actual /feature-spec mechanism (or adjust the wording to match what’s enforced).
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/dev-loop.md` around lines 135 - 145, The "Presence in the loop, not
approval at the gate" row currently misattributes enforcement to the
`/feature-spec` "Significance Check"; update that mapping so it cites the actual
`/feature-spec` mechanism that enforces presence (or reword the row to match
reality). Specifically, in docs/dev-loop.md change the enforcement cell for
"Presence in the loop, not approval at the gate" to reference `/feature-spec`
Value Gate (or otherwise remove the incorrect "Significance Check — ADR or not?"
claim) so the table accurately maps the "Presence in the loop" discipline to the
`/feature-spec` Value Gate (or a corrected enforcement description).

@emeraldleaf emeraldleaf merged commit f8ba21e into main Jun 6, 2026
7 checks passed
@emeraldleaf emeraldleaf deleted the docs/surface-encoding-disciplines branch June 6, 2026 03:55
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