一键导入
reconcile
Unified maintenance — detect drift, run security checks, cascade spec propagation, knowledge hygiene. Scoped via --scope flag. Default: consistency.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Unified maintenance — detect drift, run security checks, cascade spec propagation, knowledge hygiene. Scoped via --scope flag. Default: consistency.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | reconcile |
| description | Unified maintenance — detect drift, run security checks, cascade spec propagation, knowledge hygiene. Scoped via --scope flag. Default: consistency. |
| effort | high |
| model | sonnet |
| keywords | ["drift","specs","implementation","sync","mismatch","system","security","audit","propagation","maintain","knowledge"] |
| task_strategies | ["refactor","investigation"] |
| stream_affinity | ["tech-debt","docs"] |
| argument-hint | [--scope consistency|security|propagation|knowledge|all] |
| group | brana |
| allowed-tools | ["AskUserQuestion","Bash","Edit","EnterPlanMode","ExitPlanMode","Glob","Grep","Read","Skill","Task","TaskList","Write","mcp__ruflo__memory_search","mcp__ruflo__memory_delete","mcp__ruflo__memory_store","ToolSearch"] |
| status | stable |
| growth_stage | evergreen |
Unified maintenance command for the brana system. Four domains, one entry point.
| Domain | Scope flag | What it checks |
|---|---|---|
| Consistency | --scope consistency | Spec docs vs system/ implementation drift (default) |
| Security | --scope security | Secrets, permissions, MCP tax, dangerous settings, credential files, acquired skill safety |
| Propagation | --scope propagation | Doc fitness checks, reflection gaps, spec-graph consistency |
| Knowledge | --scope knowledge | Stale dimensions, event log bloat, ruflo noise (DECAY) |
--scope all runs every domain sequentially.
Sibling note (ADR-056): the close skill's Step 8b PROPAGATE is a different surface despite the similar name — it audits promise-fulfillment and state-contradiction debt (unchecked Documentation Plan items, stale Status fields, contradicted memories) at close time. This
propagationscope cascades errata and validates the spec graph on demand. Neither replaces the other.
Replaces: /brana:audit (merged into security domain).
/brana:reconcile — consistency (default, backward compatible)
/brana:reconcile --scope security — security checks only
/brana:reconcile --scope propagation — spec cascade + graph checks
/brana:reconcile --scope knowledge — knowledge hygiene (DECAY)
/brana:reconcile --scope all — run all domains
Parse --scope from $ARGUMENTS. If no --scope flag is present, default to consistency.
The domain procedures live in per-phase files under phases/ (this skill's base directory). Never execute a scope from memory. Three rules:
$ARGUMENTS, then Read its phase file from the PHASES registry below BEFORE doing any of its work. A phase you have not Read this session does not exist — do not improvise its steps.--scope all: Read each domain's phase file as that domain begins — consistency → security → propagation → knowledge, one Read per boundary, not all upfront./brana:reconcile — {STEP} entries), then Read that scope's phase file before continuing. Previously loaded phase content did NOT survive compression.| Scope | File | Load when |
|---|---|---|
| consistency (default) | phases/consistency.md | Scope resolves to consistency, or its turn in --scope all |
| security | phases/security.md | Scope resolves to security, or its turn in --scope all |
| propagation | phases/propagation.md | Scope resolves to propagation, or its turn in --scope all |
| knowledge (DECAY) | phases/knowledge.md | Scope resolves to knowledge, or its turn in --scope all |
In the deployed-plugin layout the same relative paths apply: {base-dir}/phases/{file}. If a path doesn't resolve, use Glob: **/skills/reconcile/phases/{file}.
/build-phaseAfter the enter→thebrana merge (ADR-006), specs and implementation coexist in one repo:
thebrana/
├── docs/ ← roadmap specs (00, 15, 17-19, 24, 25, 30, 39)
│ └── reflections/ ← reflection specs (08, 14, 29, 31, 32)
├── system/ ← implementation (skills, hooks, rules, agents, config)
├── .claude/CLAUDE.md ← identity + conventions
└── deploy.sh ← deployment
brana-knowledge/dimensions/ ← dimension docs (knowledge, cross-repo)
Most reconcile work is intra-repo (docs/ → system/). Dimension docs in brana-knowledge provide additional spec surface but rarely contain implementation-specific claims.
On entry, create a CC Task step registry. Follow the guided-execution protocol.
Register steps based on scope:
Plan mode: Enter plan mode for scanning steps (SCAN-SPECS, SCAN-IMPL, DIFF, SEC-SCAN, PROP-SCAN). Exit plan mode before presenting results.
ToolSearch("select:mcp__ruflo__memory_search,mcp__ruflo__memory_store,mcp__ruflo__memory_delete")
/build-phase or explicit user instruction./goal binding (ADR-061 §3, Stage 3 — t-2206)Reconcile may run a /goal loop over the fix-and-revalidate tail of the consistency
scope, iterating until the suite is green. (Scoped to consistency only — propagation.md has
no APPLY step / re-validate tail, so the binding would be a dead letter there; security and
knowledge have no validate-gated fix loop.)
/goal span (satisfies
C2 gate-free). Do not start the binding until the drift report has been approved.validate.sh exit 0 — authored as the AC: line validate.sh passes
(heuristic 9 in goal-completion.sh, t-2206). C1 ✓ machine-verifiable; C3 ✓ the
done-signal is external to the drift being fixed (ADR-061 §C3a).active-goal.json only when APPLY begins (after approval):
base_ref=$(git -C "{git_root}" rev-parse HEAD)
cat > ~/.claude/run-state/active-goal.json <<JSON
{"task_id": "{task_id}", "cwd": "{git_root}", "session_id": "$BRANA_SESSION_ID", "base_ref": "$base_ref", "criteria": ["validate.sh passes"], "tests_required": []}
JSON
Reconcile writes no new tests, so tests_required[] stays empty.validate.sh and its transitive helpers
semantic-checks.sh and system/scripts/context-budget.sh (both sourced/called by
validate.sh). Editing the thing that grades you is gaming (the unifying rule, ADR-061 §4).
None of these are in goal-completion.sh's GRADER_RE, so this is not code-enforced today;
it holds because the presence interlock means a human reviews every green (Stage 3) — a
code guard (adding these paths to GRADER_RE) is Stage-4 hardening. If a drift fix legitimately
requires changing any of them, this binding does not apply — complete the task manually.system/ files and
could gain a new human gate inside the apply→re-validate tail. Any commit that adds a gate
inside this span MUST, in the same commit, re-scope or retire this binding.--no-goal is passed.If context was compressed and you've lost track of progress:
TaskList — find CC Tasks matching /brana:reconcile — {STEP}in_progress task is your current step — resume from thereRouting: always append field notes to
docs/architecture/<topic>.md, neverdocs/reference/(auto-generated — seesystem/rules/field-note-routing.md).
When DIFF flags a script as "exists but not in hooks.json", grep sibling hook scripts before adding a hooks.json entry: grep -r "script-name.sh" system/hooks/. A script absent from hooks.json may already be called internally (e.g., config-drift.sh is called by session-start.sh line 157). Absence from hooks.json is necessary-but-not-sufficient evidence of a real gap.
Source: /brana:reconcile --scope consistency, 2026-04-09
Scan agents must exclude docs/archive/** and docs/reflections/archive/**. Stale archived content produces false positives — the archive copy of doc 14 said "13 rules" while the live doc already had "14 rules". Always include the full file path in findings so archive hits are obvious before fixes are applied.
Source: /brana:reconcile --scope consistency, 2026-04-09
brana graph build must run from main repo root — not a git worktreeRunning brana graph build from inside a worktree (e.g., thebrana-chore/reconcile-YYYYMMDD/) resolves brana-knowledge/ relative to the worktree path, silently losing all 158+ dimension nodes. Always run brana graph build from the main repo checkout (~/enter_thebrana/thebrana/). PROP-2 step now explicitly documents this. t-1835 tracks adding a worktree-detection guard to the CLI.
Source: /brana:reconcile --scope propagation, 2026-06-03
Multiple sessions closing on the same day independently assign E{date}-N starting from 1, producing duplicate IDs across client repos or parallel thebrana sessions. The Step 4 pre-write dedup check in close.md already documents querying git show HEAD:errata-doc for LAST_N — but this only works within one repo. Cross-repo errata written to the same file on the same day must also check the index table at the top of docs/24-roadmap-corrections.md, not just the latest commit.
Source: /brana:reconcile --scope propagation merge conflict resolution, 2026-06-03
End a session — extract learnings, write handoff, store patterns, detect doc drift. Use when ending a work session or when the user says done/bye/closing.
Build anything — features, bug fixes, refactors, spikes, migrations. Auto-detects strategy, integrates with backlog, enforces TDD. The unified dev command.
Align a project to brana practices — assess gaps, plan, implement, verify. Auto-detects type. Use when setting up a new project or realigning an existing one.
Scan and diagnose a project, or scaffold a new client from scratch. Works for code and venture clients. Auto-detects project type.
Manage the backlog — plan, track, navigate phases and streams. Use when planning phases, viewing roadmaps, or restructuring work.
Structured bug fix — reproduce (failing test), diagnose, fix (minimal change), verify, commit. Enforces test-first. Use when a bug needs a methodical fix.