Skip to main content

reconcile

Sync the code and every document in one declared direction — the code is master and the documents get corrected, or the documents are master and the gaps become tasks Arguments: --master=code | --master=docs [--dry] [--only <documents>].

Source facts

Repository
Agents-Store/codex-plugins
Last source activity
August 29, 2026 at 14:59
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
reconcile
description
Sync the code and every document in one declared direction — the code is master and the documents get corrected, or the documents are master and the gaps become tasks Arguments: --master=code | --master=docs [--dry] [--only <documents>].
Use `macstack-dev:reconcile`. `update` closes the loop after one task; `check` reports and writes nothing. This is the command for the case neither covers: **code and documents have drifted apart wholesale** and somebody has to say which side is right. ## `--master` is required Without it, stop and print this, then ask which the user wants: | | Means | Run it | |---|---|---| | `--master=code` | The code is what the product IS. Documents that disagree are corrected. | after a build phase, when the docs lag | | `--master=docs` | The documents are the contract. Code that disagrees is work. | before a client review or a release | There is no default on purpose. A default here picks the winner of every disagreement in the folder without anybody deciding, and picking a winner silently is the one thing this plugin refuses everywhere else. ## What runs Five stages; only the fourth reads `--master`. 1. **`conformance`** — one verdict per case into the ledger. Nothing downstream may call a case built without a verdict saying so. 2. **`code-audit`** — what the code has that no document mentions: three lists, sorted by blast radius. Read `generated/ARCHITECTURE.md` as the map, never a blind grep. 3. **`sync`** — the spec against the documents and against the code. Values, never ids. 4. **Resolve.** `code` → each contradiction becomes an edit to the client document through the `intake` gate (delta → ruling → apply → journal). `docs` → each gap becomes a task through `planning`, with acceptance read out of the code. 5. **Settle.** Task statuses from the verdicts, both directions: ```bash python3 "${CLAUDE_PLUGIN_ROOT}/skills/planning/references/task_status.py" macstack --apply ``` Then regenerate `generated/`, re-derive `TEST-CASES.md` for the touched ids, move `reviewed` **only for the documents this run actually read**, journal every edit, and finish with `lint`. ## Three things to raise rather than do - **A statement the client answered.** A `comment` row in the ledger against that id means the client said something explicit about that sentence. Even with `--master=code`, collect these and ask — overruling a client's own answer silently is what the ledger exists to prevent. - **Anything needing a new id**, a milestone, or a tracker item. - **Anything contradicting a ruling** in `history/DECISIONS.md`. Use AskUserQuestion for these, batched at the end — one question per contradiction turns a reconcile into an interrogation, and the answer to most of them is the same. ## Report A table with **one row per document in the contract — all seventeen**, saying what happened to each and why. A document with no row is an error: "everything is synced" has to be checkable rather than claimed. Then the counts that matter — verdicts by kind, statuses moved, edits applied, questions raised — and the single next command. After `--master=code` that is usually `/macstack-dev:review`; after `--master=docs`, `/macstack-dev:plan`. `--dry` runs every stage and writes nothing, including the ledger. Use it first on a folder nobody has reconciled in months.
View on GitHub