Commit History
-
[NOTICKET] feat(knowledge): review diff + the rule/domain boundary (r4, o2)
Rifqi Hafizuddin +1: Claude Opus 5r4 `changed_fields()` and `review_diff()`. The queue can now say WHAT moved rather than only that something did - which was the ask: show before / after, do not send the expert back to read the entry from the start. `changed` is empty when the approval still stands, so the screen can say "nothing to re-read" instead of rendering two identical panes. `before` is what the expert actually had in front of them; for an `edited` decision that is their own corrected text, not the model's claim. A test pins changed_fields() and has_mutated() to the same answer - two notions of "has this changed" that can disagree is the same defect as two notions of readiness. o2 The rule/domain boundary, written down in the output contract. The two blurred on screen during the 8 Sep review and a boundary nobody has recorded is one the prompts cannot hold. The test: if removing it would change how a NUMBER IS COMPUTED OR SOURCED it is a rule; if it would only …5cb2e2d
-
[NOTICKET] fix: cap key-parameter pre-emption in the review queue (Step 2)
Rifqi Hafizuddin +1: Claude Opus 5Unresolved key parameters held their own sort tier beneath conflicts, so EVERY one of them outranked EVERY routine term regardless of how many there were. The branch emits them in bulk on exactly the documents it understands least, so the promotion fired hardest where it was least deserved: on the Komatsu shop manual that is 24 junk rows standing in front of `Engine`, a term with 108 mentions, at rank 25. The original reason for promoting them is preserved and still sound -- that branch has no span check, so an unresolvable surface is the one hallucination signal it can raise and it must not sink beneath sixty routine rows. A CAP expresses that without letting the tail take the queue over: at most one parameter per five term rows. Also heads the parameter name. The branch picks the right CONCEPTS and returns them wrapped in their whole defining sentence (185 chars in one measured case); `term` now carries the head and the new `surface_full` carries the untruncated text. Split only pa…4e3a6ae -
[NOTICKET] docs: sync REPO_STATUS / DEV_PLAN / contracts for pipeline v2
Rifqi Hafizuddin +1: Claude Opus 5Doc sync for the two changes in 2cc21c9 and e662ac0, in the same unit of work. - REPO_STATUS §14: dated delta covering the retired fuzzy pass, parsing 0.4.0, the new E1c metric, E2's removed kill line, and the two settings changes that were measured and rejected. - DEV_PLAN §0.8: banner + task rows K13 (clustering), K14 (asset pointers) and K15 (the paid comparison, still in flight). Existing task numbering untouched; new rows appended. - KNOWLEDGE_PARSING_OUTPUT_CONTRACT: 0.4.0 banner, the full `Asset` field table, a worked inline-reference example, and the two obligations on a consumer (resolve asset:// locally; switch on caption-vs-description). - KNOWLEDGE_OUTPUT_CONTRACT §2c: what the extraction branches now receive, with the quotable/not-quotable table. Also flags a PRE-EXISTING drift found while working: the code writes `document_brief.json` with `brief_id`/`b_` while §8 documents `domain_context.json` with `domain_id`/`d_`. Not reconciled here — it matters …c3c184d
-
/feat knowledge management (#20)
- [NOTICKET] docs: knowledge pipeline test integration — context, audited task checklist, DEV_PLAN §0.8 (8e69dc6c638509f4dd7b6775d520fb4aa4efbd3e) - [NOTICKET] docs: knowledge pipeline — reframe kex as prototype, not port target (7cce5ffc9ab88791ac139dbef8e88e124a3d049e) - [NOTICKET] feat(eval): knowledge-extraction gold set, scorer + frozen prototype baseline (60cf4a885ef31a8aa64916f5a70ac5a0e8062c5f) - [NOTICKET] chore: add missing planner and readiness eval results (bd6659b3bf523597e4482b04ab1fcff5e1284d25) - [NOTICKET] feat(knowledge_extraction): free stages — models, seam adapter, filters, cluster, ranking (024c30abd1189119d33508eded334fe5a3ed5011) - [NOTICKET] fix(knowledge_extraction): move runner into the package; fix two ranking defects (72605ff6876a7936ab685d417c766ce820f6214b) - [NOTICKET] feat(knowledge_extraction): span filter — E1 recall 0.8537, matches the frozen baseline (3a016343398753cf730d50548c0e92ff47c6716c) - [NOTICKET] feat(knowledge_extraction): paid extraction …b68816f