(motir-ai) Mirror W6 into `SHARED_PLANNING_RULES` — name what ANSWERED when the address comes from our own config
Opened by Zhu Yue ·
Repo: motir-ai. One PR. Type: content · Executor: coding_agent. The MIRROR half of MOTIR-2929 — blocked_by it, and it merges FIRST. A rule that lands in only one home is half-landed: prompts/plan-rules/ is what a human planning pass reads, SHARED_PLANNING_RULES is what the shipped planner is given.
What to carry
The clause MOTIR-2929 lands in kind-leaf-deepen.md's THIRD LIMB, in this file's register (the mirror is uppercase-emphatic prose, not Markdown — match the surrounding sentences rather than pasting the pack's formatting):
AND NAME WHAT ANSWERED. Every discharge above is addressed by a name the platform itself owns. When the address comes from OUR configuration instead — a
*_DATABASE_URL, a*_URL, a CLI profile or context, an account/tenant token — the config did not make the assertion, it chose WHO WOULD ANSWER IT, and a stale, sibling or snapshot copy connects, authenticates and answers in milliseconds with the correct answer to a question about last month. Nothing errors, and having run something real RAISES confidence. Such a reading is discharged only by A WITNESS THAT DATES THE RESPONDER — a row whose existence dates the database, a build version, an id verified independently — or by reading FROM INSIDE the system, on the running instance, using its own environment. AND AN ASSERTION OF ABSENCE THROUGH SUCH AN ADDRESS IS THE ONE THAT MUST NOT BE ACTED ON: "not there" is the identical reply from a current system and from a copy of it, and it is the direction whose remedy deletes.
The insertion point is immediately after this file's existing tell sentence — "THE TELL: the card's evidence for a RUNTIME property is a file in our own repo, and nothing reads the platform" — because that tell is precisely what read clean in the incident, and the new clause is the case it cannot see.
Acceptance criteria
src/llm/planningRulePacks.ts'skind-leaf-deepenpack carries the clause, placed after the existingTHE TELLsentence of the third limb, in this file's prose register.- A test in
tests/planningRulePacks.test.tsasserts the pack contains a distinctive phrase of the new clause (NAME WHAT ANSWEREDandWITNESS THAT DATES THE RESPONDER), following whatever form the file's existing rule-presence assertions take — read them first rather than inventing a shape. - The PR body quotes the corresponding
plan-rules/kind-leaf-deepen.mdtext fromorigin/mainafter MOTIR-2929 merged, and states that the two homes now read the same, so a reviewer can diff them without opening both repos. - Per-file coverage meets the repo's floor for every file the diff touches.
Context refs
motir-ai/src/llm/planningRulePacks.ts— the mirror home. ⚠️SHARED_PLANNING_RULESmoved here fromsrc/llm/treeGeneration.ts; a grep oftreeGeneration.tsreturns 0 for this whole family and is a false negative. The lines are very long — read it with python, not grep.motir-ai/tests/planningRulePacks.test.ts— where criterion 2 goes.- MOTIR-2929 — the
motir-metahalf, which carries the full gap analysis and the warrant line; MOTIR-2916 — the record card that filed the pair; MOTIR-2795 — the fixture. - MOTIR-2914 — the sibling mirror card (W5). Disjoint clauses in the same file: if both are in flight, the second to branch rebases rather than resolving a hunk conflict by hand.
Discussion
No comments yet.
Adding to this discussion signs you in on app.motir.co and brings you back to this request.