os-aidd-lint: validate + admit prose-as-dispatcher Tier-2 catalog entry (needs house-rule ADR, ADR-0060 amendment, validation study) #189

Open
opened 2026-07-31 14:39:34 +00:00 by jared · 2 comments
Owner

Context

Blindspot mining on cc-architect's SKILL.md found a smell class no Tier-2 catalog entry covers: prose keyword/dispatch tables implementing deterministic operations that belong in a CLI or arguments/argument-hint frontmatter. Draft entry below is UNVALIDATED — per references/tier2-catalog-validation.md it must not ship until a blind-critique validation study is run, and ADR-0060's closed-catalog lock requires an amending ADR. The house rule it enforces ("deterministic operations belong in code, not prose interpretation") is not yet recorded anywhere citable and should land as its own ADR first.

Shipping checklist

  1. Record the house rule as an ADR (recommended over a CLAUDE.md line: cross-cutting, must be citable by name from tier2-charter.md).
  2. Run the tier2-catalog-validation.md blind-critique study for this entry over a corpus; cite a verbatim in-repo exemplar.
  3. ADR amending ADR-0060 to admit the entry (precedent: ADRs 0062/0063/0068).
  4. Apply the charter edit + update pinned tier2 tests (charter_test, judge_test, prompt_text_filter_test Definition-count pin WILL change — new entry name).

Draft entry (unvalidated)

prose-as-dispatcher

Definition: a skill body or reference implements a deterministic operation -- routing on an exact input value, a lookup table, a fixed if/elif chain over enumerable cases -- as prose the model is expected to interpret at run time, rather than as code (a CLI flag, a case statement, a config table) the harness or a script evaluates deterministically. House rule: deterministic operations belong in code, not prose interpretation. The defect is not "prose that dispatches" per se -- it's a mechanical operation with a knowable, enumerable answer being handed to a model to re-derive every invocation, at the cost of inconsistent results across runs and an un-testable decision path.

Judge criterion wording: flag a passage only if it is a table, numbered list, or if/then chain whose branches are keyed on a closed, enumerable set of exact-match inputs (a flag value, a file extension, a fixed vocabulary) AND the branches' actions are themselves deterministic (no judgment call). Do not flag conditional prose whose branch condition requires judgment ("if the input is ambiguous, ask the user"; "if the file looks stale, flag it") -- that is legitimate delegation to the model, not dispatch logic dressed as prose.

Counter-example (do NOT flag): "If the target scope is unclear from the request, ask which directory to scope to before running." -- the branch condition ("unclear") is a judgment call the model is suited for; there is no enumerable table of exact inputs being routed.

Prescribed fix: move the dispatch table/chain into a CLI (a script with flags/subcommands) or into structured frontmatter (arguments, disallowed-tools, a config file) the harness reads deterministically, and replace the prose with a pointer to it.

## Context Blindspot mining on cc-architect's SKILL.md found a smell class no Tier-2 catalog entry covers: prose keyword/dispatch tables implementing deterministic operations that belong in a CLI or `arguments`/`argument-hint` frontmatter. Draft entry below is UNVALIDATED — per references/tier2-catalog-validation.md it must not ship until a blind-critique validation study is run, and ADR-0060's closed-catalog lock requires an amending ADR. The house rule it enforces ("deterministic operations belong in code, not prose interpretation") is not yet recorded anywhere citable and should land as its own ADR first. ## Shipping checklist 1. Record the house rule as an ADR (recommended over a CLAUDE.md line: cross-cutting, must be citable by name from tier2-charter.md). 2. Run the tier2-catalog-validation.md blind-critique study for this entry over a corpus; cite a verbatim in-repo exemplar. 3. ADR amending ADR-0060 to admit the entry (precedent: ADRs 0062/0063/0068). 4. Apply the charter edit + update pinned tier2 tests (charter_test, judge_test, prompt_text_filter_test Definition-count pin WILL change — new entry name). ## Draft entry (unvalidated) ### prose-as-dispatcher **Definition:** a skill body or reference implements a deterministic operation -- routing on an exact input value, a lookup table, a fixed if/elif chain over enumerable cases -- as prose the model is expected to interpret at run time, rather than as code (a CLI flag, a case statement, a config table) the harness or a script evaluates deterministically. House rule: deterministic operations belong in code, not prose interpretation. The defect is not "prose that dispatches" per se -- it's a mechanical operation with a knowable, enumerable answer being handed to a model to re-derive every invocation, at the cost of inconsistent results across runs and an un-testable decision path. **Judge criterion wording:** flag a passage only if it is a table, numbered list, or if/then chain whose branches are keyed on a closed, enumerable set of exact-match inputs (a flag value, a file extension, a fixed vocabulary) AND the branches' actions are themselves deterministic (no judgment call). Do not flag conditional prose whose branch condition requires judgment ("if the input is ambiguous, ask the user"; "if the file looks stale, flag it") -- that is legitimate delegation to the model, not dispatch logic dressed as prose. **Counter-example (do NOT flag):** "If the target scope is unclear from the request, ask which directory to scope to before running." -- the branch condition ("unclear") is a judgment call the model is suited for; there is no enumerable table of exact inputs being routed. **Prescribed fix:** move the dispatch table/chain into a CLI (a script with flags/subcommands) or into structured frontmatter (`arguments`, `disallowed-tools`, a config file) the harness reads deterministically, and replace the prose with a pointer to it.
Author
Owner

Triage: enhancement, ready-for-human. Multi-step process gated on human/ADR decisions (record house rule as ADR, run blind-critique validation study, amend ADR-0060) before any Tier-2 catalog code change — not a self-contained agent task despite the draft entry being well-developed.

Triage: enhancement, ready-for-human. Multi-step process gated on human/ADR decisions (record house rule as ADR, run blind-critique validation study, amend ADR-0060) before any Tier-2 catalog code change — not a self-contained agent task despite the draft entry being well-developed.
Author
Owner

Frozen in the 2026-08-16 backlog reset — see #419 for the expiry procedure. Do not work unless a live run rediscovers this issue.

Frozen in the 2026-08-16 backlog reset — see #419 for the expiry procedure. Do not work unless a live run rediscovers this issue.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jared/cc-os#189
No description provided.