Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion corpus/skills/cat-mode/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ What happens to a number once it exists:
- **Schema before UI.** Required identity properties plus a green canary before the first insight or notebook PATCH; split the forward-stamp PR from the historical-backfill PR.
- **Claim a chart gap fixed only after naming write vs enrich ownership** (local vs peer vs fleet).
- **Write a thrash checkpoint before attaching new scope:** after two same-type interventions or the first live backfill, record tier and canary status first.
- **When a same-type miss forces a working-style catch mid analytics thrash, stop feature PRs until that catch is locked** (for example the first `intervention-must-automate` flag, an explicit `/automate-me`, or a same-type restatement).
- **Stop analytics feature iteration and lock the class catch before more analytics PRs when automate is mandated mid thrash** (for example the first `intervention-must-automate` flag, an explicit `/automate-me`, or a same-type restatement).

Each rule's full text: [references/verify.md](references/verify.md).

Expand Down
5 changes: 3 additions & 2 deletions corpus/skills/cat-mode/references/verify.md
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,8 @@ defaults above and [[principle-push-not-poll]]; they do not replace them.
of a run, write the current tier and canary status before attaching new
stack publication or plan scope. A checkpoint is a receipt, not a status
ping.
- **When a same-type miss forces a working-style catch mid analytics thrash, stop feature PRs until that catch is locked** (for example the
- **Stop analytics feature iteration and lock the class catch before more
analytics PRs when automate is mandated mid thrash** (for example the
first `intervention-must-automate` flag, an explicit `/automate-me`, or
a same-type restatement). The standing default that would have prevented
the miss lands first; dashboard, backfill, and insight work wait until
Expand All @@ -226,4 +227,4 @@ defaults above and [[principle-push-not-poll]]; they do not replace them.
resume when the artifact arrives. Chat process greps, log tails, and
wait-and-repeat shell loops are the poll defect
[[principle-push-not-poll]] already forbids — this rule names the
ownership hand-off, not another check-wait-repeat count.
ownership hand-off, not another check-wait-repeat count.
6 changes: 3 additions & 3 deletions tests/test_cat_mode.py
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,7 @@ def test_skill_names_thrash_checkpoint_defaults(self):
self.assertIn("Claim a chart gap fixed only after naming write vs enrich ownership", text)
self.assertIn("Write a thrash checkpoint before attaching new scope", text)
self.assertIn(
"When a same-type miss forces a working-style catch mid analytics thrash, stop feature PRs until that catch is locked",
"Stop analytics feature iteration and lock the class catch before more analytics PRs when automate is mandated mid thrash",
text,
)
self.assertIn("Do not race publication against a live long job in the same thread", text)
Expand All @@ -397,10 +397,10 @@ def test_verify_reference_carries_analytics_thrash_checkpoints(self):
self.assertIn("Write a thrash checkpoint before attaching new scope", text)
self.assertIn("intervention-must-automate", text)
self.assertIn(
"When a same-type miss forces a working-style catch mid analytics thrash, stop feature PRs until that catch is locked",
"Stop analytics feature iteration and lock the class catch before more",
text,
)
self.assertIn("same-type miss forces a working-style catch", text)
self.assertIn("when automate is mandated mid thrash", text)
self.assertIn(
"Million-row or multi-host backfills are owned by a durable runner",
text,
Expand Down
Loading