Skip to content

gate: three presence prereqs on exploration-to-planning - #323

Merged
git-repo-auth[bot] merged 7 commits into
mainfrom
dish/2026-09-20-gate-explore-plan-prior-art
Sep 21, 2026
Merged

git-repo-auth[bot] merged 7 commits into
mainfrom
dish/2026-09-20-gate-explore-plan-prior-art

Conversation

@klappy

@klappy klappy commented Sep 21, 2026

Copy link
Copy Markdown
Owner

Dish A of kitchen ticket 2026-09-20-gate-explore-plan-prior-art.

What: oddkit_gate exploration-to-planning now requires five prereqs: problem_defined, constraints_reviewed, plus world_prior_cited, house_install_cited, house_canon_cited.

Why: Chat could enter planning on problem+constraints alone while kitchen CHECKLIST 10/11 already demands prior-art presence. One id cannot AND three bands (stemmed set intersection is per-id OR). Worker unchanged.

Not this PR: spawned audit, Jev Worker, jev_layer_considered, P0009 lint, CHECKLIST deletion, planning-to-execution.

Fixture (python3 scripts/tests/test_gate_explore_plan_fixture.py):

  1. ready-to-plan + problem + constraints only → NOT_READY naming the three new ids
  2. official nulls (no world prior / no house install / no house canon) → READY
  3. we use CF and vodkahouse_canon_cited fails

Live overlay: knowledge_base_url=https://raw.githubusercontent.com/klappy/klappy.dev/dish/2026-09-20-gate-explore-plan-prior-art

Kitchen rail: 2-cooking at 9c0aa12 (this cook does not merge kitchen main for product).


Note

Medium Risk
Tightens live gate behavior for exploration→planning on the canon tier without a Worker deploy; operators may see new NOT_READY gaps until prior-art/install/canon language (or official nulls) appears in input.

Overview
exploration-to-planning now requires five prerequisites instead of two: the existing problem_defined and constraints_reviewed, plus three new presence ids — world_prior_cited, house_install_cited, and house_canon_cited — aligned with kitchen CHECKLIST 10/11 and an explicit house-canon cite.

Each new row in odd/gate/prerequisites.md defines a narrow stemmed check vocabulary and gap message. Official nulls (e.g. no world analogue, no house install, no house canon) satisfy the bands from operator input. Canon notes document deliberate omissions (house, cited, klappy, hyphenated terms) so hyphen-split and shared tokens do not let one band false-pass another; stack folklore alone does not satisfy house_canon_cited.

When oddkit_gate loads this canon (governance_source: "knowledge_base"), ready-to-plan language with only problem + constraints returns NOT_READY until all five bands are signaled. The Worker minimal fallback is unchanged (still two prereqs for this transition); reviewers should check governance_source before trusting a PASS.

Reviewed by Cursor Bugbot for commit 58daa99. Bugbot is set up for automated code reviews on this repo. Configure here.

world_prior_cited, house_install_cited, house_canon_cited.
Data-only — Worker still evaluates each id independently.
Official nulls count. CF/vodka is not a house-canon cite.
Fixture: scripts/tests/test_gate_explore_plan_fixture.py

Kitchen: 2026-09-20-gate-explore-plan-prior-art Dish A.
@github-actions

github-actions Bot commented Sep 21, 2026

Copy link
Copy Markdown

Canon Quality — P0010 Retrieval-Readiness ⚠️

Soft report for klappy://canon/constraints/retrieval-disclosure-contract. 716 files scanned. Never blocks — informational until the corpus is ready to enforce.

  • Blocking-class findings: 19 (structural fields the contract would filter on)
  • Warnings: 0 (kind resolves to unknown)
  • Informational: 13 (exempt templates/archive/drafts)

Kind distribution: {'essays': 53, 'canon': 252, 'apocrypha': 38, 'docs': 307, 'journals': 60, 'unknown': 6}
Kind source: {'path': 578, 'frontmatter': 132, 'none': 6} (frontmatter-primary, path-secondary)
Default-include visibility: 612 visible, 104 hidden (journals/apocrypha/unknown)

By rule: {'audience-invalid': 4, 'exposure-missing': 7, 'tier-missing': 5, 'tier-invalid': 7, 'fm-missing': 3, 'kind-unresolvable': 6}

These are not schema violations (see the Frontmatter Schema job for those on writings/). They are corpus-readiness signals for the retrieval contract: invalid/missing audience, exposure, tier, and docs whose kind cannot be resolved. Fix in a corpus-cleanup PR before the contract flips to enforcing. See the retrieval-readiness-findings artifact for the full list.

Validator: scripts/audit-retrieval-readiness.py · Constraint: klappy://canon/constraints/retrieval-disclosure-contract · Run: #459

@github-actions

github-actions Bot commented Sep 21, 2026

Copy link
Copy Markdown

Canon Quality — oddkit_audit

No dead klappy:// references or legacy link patterns found in writings/. 53 files scanned.

Spec: klappy://docs/oddkit/specs/oddkit-audit · Workflow: .github/workflows/canon-quality.yml · Run: #459

@github-actions

Copy link
Copy Markdown

Canon Quality — Homepage Surfacing ✅

51 essay(s) scanned. Soft report — never blocks; the hard field gate is the Frontmatter Schema job.

All published essays resolve to the homepage feed.

Report: scripts/surfacing-report.py · Canon: klappy://canon/constraints/frontmatter-validation-before-merge

Live overlay: NOT_READY 2/5, PASS 5/5, CF-vodka house_canon_cited fail.
PR #323. Kitchen rail 9c0aa12.
@github-actions

github-actions Bot commented Sep 21, 2026

Copy link
Copy Markdown

Canon Quality — Frontmatter Schema ✅

All 51 file(s) in writings/ conform to klappy://canon/meta/frontmatter-schema.

Validator: scripts/validate-frontmatter.py · Canon: klappy://canon/constraints/frontmatter-validation-before-merge · Run: #459

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Autofix Details

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Cited token leaks house canon
    • Removed canon-cited from the house_canon_cited check so hyphen-split no longer adds cited, and the fixture now fails that band on ordinary cite language for the other two bands.

You can send follow-ups to the cloud agent here.

Comment thread odd/gate/prerequisites.md Outdated
cursoragent and others added 3 commits September 21, 2026 04:22
…ited

canon already covers that term; the hyphenated synonym only added cited,
so ordinary cite language for the other two bands false-passed the AND.
DEBRIEF belongs on the kitchen ticket. Gate matcher tests belong in oddkit.
Living canon here is the two markdown files. Live Worker overlay remains the fixture.
Hyphen-split added prior; a problem statement that says prior art false-passed the band.
Official null is now no world analogue / literature only / bide waiting.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Analogue stem misses analog cites
    • Added analog and analogous as sibling check terms so American-spelling cites pass world_prior_cited without reopening the prior-art hyphen leak.

You can send follow-ups to the cloud agent here.

Reviewed by Cursor Bugbot for commit e6fe5cd. Configure here.

Comment thread odd/gate/prerequisites.md Outdated
cursoragent and others added 2 commits September 21, 2026 04:45
The suffix-only stemmer does not unify analogue with analog, so American
spelling cites (analog/analogs/analogous) left the prereq unmet.
…ouse bands

- house_install_cited: drop repo-path, inspected-repo (hyphen-split leaked repo, path, inspect; 'the path forward' false-passed)
- house_canon_cited: drop klappy (every house repo slug carried it, so an install cite paid the canon band); gap message now teaches 'canon: klappy://...'
- world_prior_cited: add analogy (same word family; 'by analogy with' was a false gap)
- note: three ids are canon-tier only; minimal fallback still carries the original pair (observed oddkit 94c98ad)

Found by independent taste with live oddkit_gate on the branch overlay. Data-only. Worker unchanged.
@git-repo-auth
git-repo-auth Bot merged commit cb37f62 into main Sep 21, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants