rules: unprompted-work.md — the rules for goal and nightly sessions, byte-identical in all three repos
This commit is contained in:
@@ -0,0 +1,53 @@
|
|||||||
|
# Unprompted work — rules for any session without a task file
|
||||||
|
|
||||||
|
> Goal sessions, nightly sessions, "work the register" sessions. **A session that starts from
|
||||||
|
> `/goal` or a standing brief inherits these rules exactly as it inherits the gates.** They are the
|
||||||
|
> part of `PROMPT-TEMPLATE.md` that a task file used to carry and a goal does not. Same wording lives
|
||||||
|
> in all three repos' `.claude/rules/`; change it in all three or in none.
|
||||||
|
|
||||||
|
## 1. What you may pick up on your own
|
||||||
|
|
||||||
|
- A register row **you or another CC session filed**, with owner CC, at P3 or a bounded P2, that
|
||||||
|
needs **no operator decision**, touches **no customer data by design**, and introduces **no
|
||||||
|
mechanism nobody has measured**. Smallest first.
|
||||||
|
- A defect you find while exercising the product, filed as a row **before** you fix it.
|
||||||
|
- Hygiene: register compression, stale citations, rows with no owner, documents that contradict
|
||||||
|
live source.
|
||||||
|
|
||||||
|
**Not yours, ever, without a task file or an operator word:** money; anything that changes risk to
|
||||||
|
customer data; anything that changes a promise the product makes to a customer; anything that
|
||||||
|
reverses a documented design decision (`documentation/architecture/` — a design decision is not a
|
||||||
|
defect, R-370); anything on DooPlex, Peti's box or ep0; baking or vouching a golden; promoting a
|
||||||
|
catalog version; a new external dependency.
|
||||||
|
|
||||||
|
## 2. When you may decide instead of ask (operator grant, 2026-09-14)
|
||||||
|
|
||||||
|
You may take a decision yourself when **all** of these hold: the architecture folder and the register
|
||||||
|
give a clear direction; your choice follows that direction; it is reversible without customer-data
|
||||||
|
risk; and you can write it in the `09-update-architecture.md` §3 shape — one answerable sentence, the
|
||||||
|
options, what each costs, why this one. **Then record it** as a dated decision in `CONTEXT.md` and
|
||||||
|
the owning architecture document, tagged *decided by CC unattended — operator may reverse*, and put
|
||||||
|
it **first** in the morning note. A decision you cannot write in that shape is one you do not take.
|
||||||
|
|
||||||
|
## 3. The discipline a task file used to carry
|
||||||
|
|
||||||
|
1. **Baselines first.** Read each repo's `main` hash and version from live source before touching it.
|
||||||
|
2. **Read the architecture document for the area, and name it** in the report, before any claim.
|
||||||
|
3. **Red-proof every correctness fix.** A test never seen failing has not been shown to test anything.
|
||||||
|
4. **Live-validate on a Tier-0 box** through the endpoints the UI invokes. `demo-hp` is `ssh hp`.
|
||||||
|
Throwaway apps only; the standing apps and `bentopdf` stay.
|
||||||
|
5. **Evidence off the machine at the end of each phase**, before any revert (R-320).
|
||||||
|
6. **One release per repo per session**, with a CHANGELOG entry (controller: with its `MinAgent`
|
||||||
|
line), REPORT overwritten, floor raised to deliver it. **No golden unless a drill or fresh install
|
||||||
|
needs one** (the waiver, R-468). **No `--no-verify`.**
|
||||||
|
7. **An enumerated gap becomes a row in the same session.** Prose is not a record.
|
||||||
|
8. **Hungarian text is searched with ASCII fragments**, with a positive and a negative control.
|
||||||
|
9. **Never leave a half-state.** If time runs out, revert to clean and say what was reverted.
|
||||||
|
10. **Teardown, three layers, stated** — machine, host, hub — or "provisioned nothing".
|
||||||
|
|
||||||
|
## 4. The morning note
|
||||||
|
|
||||||
|
One screen, plain language, in this order: **decisions you took** (§2) first; what you exercised;
|
||||||
|
what broke and whether you fixed it; rows opened and closed with the register size before and after;
|
||||||
|
what needs the operator, each with what happens if they do nothing. No file paths, no function
|
||||||
|
names, no row numbers as the subject of a sentence.
|
||||||
Reference in New Issue
Block a user