Commit History
-
[NOTICKET] docs: sync REPO_STATUS / DEV_PLAN / contract for the 8 Sep list (K24)
Rifqi Hafizuddin +1: Claude Opus 5Doc sync for pr/21's seven commits. Every claim below was grepped or read this session, not recalled. REPO_STATUS header dated delta for the 8-Sep list landing section 8 new row for the five knowledge tables + the 7 columns added 2026-09-14, and the note that `label` now carries a key rather than the term section 14 TWO STALE CLAIMS CORRECTED, both proven this session: - "Eight routes" -> ten (grep -c '^@router\.' = 10; /domain/propose and /domain landed 2026-09-08) - "the analytics path does not read what it produces" -> it does, armed 2026-09-08 (K5/K9/K11), approved entries only DEV_PLAN section 0.8 K24 appended (next free number; K23 untouched, nothing renumbered) API_CONTRACT_BE_PYTHON section Knowledge `review_mode` added to the POST /ingest body table, plus what the FE has to surface when offering it: 'llm' is not a second opinion, it is acceptance without human review,…be227a8
-
[NOTICKET] docs: sync for the open-queue pass, add the Step 8 and Step 7 proposals
Rifqi Hafizuddin +1: Claude Opus 5REPO_STATUS section 14 and DEV_PLAN section 0.8 get the 2026-09-11 delta, with per-item rows K17-K23. Three stale claims corrected while in there, all of which would have misled the next session: * REPO_STATUS gave `schema_version` as 0.3.3 in two places while the delta directly above it documented 0.4.0. * Its "Not yet done" paragraph still listed persistence, the HTTP surface, the full-document run and E3 as open. All four have landed. * KNOWLEDGE_PIPELINE_TODO rows X17, D2 and D4 read "not started" for four days after persistence and the 8 routes shipped on 2026-09-07, while DEV_PLAN recorded them done. Anyone reading that file first would have concluded the pipeline was still offline. It also records nothing of v2 or of this pass, so it now says outright that DEV_PLAN section 0.8 is canonical and the checklist covers the original build-out only. Two proposals, nothing built from either, both needing sign-off: * TABLE_BRANCH_PROPOSAL (Step 8). A shop manual is 74…7659cf0 -
[NOTICKET] fix: test the caption hypothesis; ship the signal at weight 0.0
Rifqi Hafizuddin +1: Claude Opus 5The first paid v2 run produced `definitions_citing_a_caption = 0` on all three documents. Two candidate explanations. Both are now measured and BOTH ARE FALSE. 1. "Captions never reach the term filter." FALSE. A caption is part of Chunk.text, so GLiNER already scans it and already produces mentions from it: 2 of 2 captions on BUMA, 3 of 8 on Open Pit. Feeding captions to the filter would have been a no-op. 2. "Figure-bearing chunks are never selected as evidence." FALSE. A captioned chunk is already inside the top-5 for 22 of 83 BUMA clusters and 64 of 427 Open Pit clusters. To test (2) properly this adds the lever that genuinely was missing: an `asset_caption_names_term` ranker signal. A/B at 2.5 vs 0.0 across all three documents changed the top-5 of ONE cluster out of 603, and moved zero clusters from "no figure" to "has a figure". The real reason is visible by reading them: not one caption in the corpus is a definition. They are figure titles -- "Figure 1.3. Re…36a166e -
[NOTICKET] docs: close K15 with the paid v1-vs-v2 comparison
Rifqi Hafizuddin +1: Claude Opus 53 runs, ~9 cents. Results, with the caveats kept next to them: definitions BUMA 7->10 Komatsu 0->0 Open Pit 25->49 junk queue rows Komatsu 38->24 (-37%) Open Pit 20->7 (-65%) cache hit rate +7% on all three retries 0 Open Pit nearly doubling its definitions is the strongest result and is well outside the noise band. BUMA's +3 is inside it. Komatsu stays at ZERO definitions, exactly as predicted. A troubleshooting manual states symptoms, not definitions; no clustering or asset work reaches that. It confirms v2 fixed plumbing rather than papering over the genre limit. Two things the raw table overstates, recorded rather than buried: - `source_wording` looked like +1608% (13 -> 222 on Open Pit). Most of the growth is TAUTOLOGICAL — a value identical to the term carries no information. Informative: 12 -> 101. On Komatsu the new values are often whole sentences rather than a naming form, which is not what the field is for. - `definitions_citing_a_caption`…62782fe -
[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
-
/fix planner count and report (#19)
- /fix planner count question (11de970ff65be9b4f81f773cfb355d3dc57358d7) - [noticket] fix report bug where some answered analysis isnt included in report summary answers (8dec1825cf803ad28f4ff0400b9c373250a7d90a) - [NOTICKET] fix: split report floor from report body; scope analysis reads by user_id (fd4865b20dfc46782706be9aab318f909b9903c3) - [NOTICKET] docs: sync report floor/body + security posture; add review remediation tracker (fc5200c994441ec505ea7a82469da577afe170a5) - [NOTICKET] test: planner eval harness (rule-compliance, --selfcheck/--rescore) (4292522aa3fa3a7af8f933307334cb7e5eb0b377) - [NOTICKET] eval: repair readiness harness; commit intent/help/readiness baselines (08a0a4ad5eacc6c90df22fab5be69f2d33579f29) - [NOTICKET] fix: compiler parity — F-17 fabricated column, F-18 LIKE nulls, F-25 empty in/not_in (8f736f90f1958960a83847d332b45b13fa346168) - [NOTICKET] feat: bound catalog render + blob read; scope charts/traceability; mark degraded seams (0cb7d53cb6f7f7e7b687dd6d9c27…f282b15
-
/fix report not working (#18)
- [NOTICKET] fix: write reports.user_id (Neon NOT NULL column broke report persistence) (13f74e11df6058800f71e539fe135eeba7576f24) - [NOTICKET] docs: correct 13f74e1 root cause — Go migrations are non-convergent (86d0805130637d66082c5a75b8da71fae36002ad)9070d67
-
/fix change model to gpt 5.4 mini (#17)
- [NOTICKET] chore: rename LLM env quad __4o -> __54m (GPT-5.4-mini) (790ef0c7aaac6e76eb01b0ef9a3398ff4249416d)d65c41d -
fix/ check and new chart tool (#16)
- check: table-level column drill + drop misleading "name a table" hint (ef0c7b1c5aa49a244b02f1b5eea15cc77dcf2bcb) - [KM-715] charts: render_chart tool + message_charts store + GET /api/v1/charts + planner viz slice (87cfcf884d923ee4bcd722e0e4ef4d90d7eaedca) - [KM-715] checkpoint: S1a deterministic quality checkpoint between runner and assembler (f3c8de34dc19a573031b67fd4f48dcfbadcdfed8) - [KM-715] docs: sync REPO_STATUS/DEV_PLAN + land SPINE_V2_PLAN (W1/W2 done) (434eacbf2ac8324188ebe5e32775dbc9d2a3f49a) - planner: value-handoff (${tN.col} → list) for tabular lookup/anti-join (54070ac1407b751000e49dfe7f102a2be5ab1ff8) - [KM-715] charts: GET /charts by message_id only + tri-state status marker (b8d15761addf4d499c9631df64e7693aa1d61fa2) - [KM-715] report: embed charts as plotly EDA fences; render_chart counts toward the floor (89db8be6b6f11e86ad0776d2ee07f2306e3b6079) - [KM-715] docs: contract + status deltas for the charts lead-review round (96347ee7c55a4eb39a906409ec214463e25c5e35) - …5a60e93
-
/fix traceability (#15)
- [KM-691] Traceability: add resolved data_used layer for the FE (a646735e33f6ac725d0756a88956b0aec15fe495) - check: don't leak user-scope catalog when analysis catalog missing (c0ba82938383169b41059c4125765db5275885e7) Co-authored-by: Sofhia Az-Zahra <sofhiaazzhr@users.noreply.huggingface.co>32abc41
-
/fix planner and report (#13)
- [KM-644] planner: infeasible plan outcome + entity-ranking few-shots (089b69d9b6111e813307c6afbd3e7613bb823f9d) - [KM-644] harden query path: grouped-select rule, int-date trends, sample decode, trace guard (74ad5261736bda0bd72bccdb41565ea67313993a) - [KM-703] add analyze_merge tool: two-table combine (analytics.combine) (8abf635532366d670367557a3ffa03d42371d831) - [KM-567] planner support for analyze_merge: data_right guard + two-retrieve merge few-shot (a029a843247e6ea4d3c79a4e2c1b7571ba4cda69) - [KM-644] report v2: BQ answers, unresolved/excluded sections, evidence tables + curation/readiness endpoints (4ceb058d85c5a2a289443b9411d2b345027fa226) - [NOTICKET] refactor: mint message_id as UUID to mirror analyses_messages id shape (4253733b6b8db0449a82442a915c732ddd55f528) - [KM-644] report: drop Notes/Unresolved/Method sections from rendered markdown (compact report) (eef6de811a139402c79fd74ad4adfc00cf7aff01) - /edit md file (8198cc188ff05a2798ae2056b90b6e56e1bea87b) Co-authored-by…49b0848
-
/feat traceability (#11)
- [NOTICKET] Fix check skill: reply language + tabular inventory routing (1367f41269cf9ef42fd91f311b24d4edf5885c7b) - [KM-691] Develop traceability (23cc2079989fef931a6e146980fe6bf528ee6e92) - [NOTICKET] Humanize check output: hide UUIDs, add lead-in, list format (2bdda8fc3fc4b4e17b4df7fb53aee5abede45add) - [NOTICKET] check: schema-detail view for column/type questions (9e248d9cc5688d6ee622be523a6bedddf5010995) - [KM-691] Make sources trace-authoritative; drop stream sources (b43ecc77f26c1537cbbfddb6800ec4ff62d16441) - [KM-691] Bound traceability payload + reject contradictory IR filter ranges (db6db73d6ab0c2175447946742038443d67b2f78) - /fix planner can now plan quarter comparison (839e32c8d6d5895029072074ab7aba8bb4fcdb6e) Co-authored-by: Sofhia Az-Zahra <sofhiaazzhr@users.noreply.huggingface.co>f873f92
-
/fix analysis + report_inputs and storage update (#9)
- fix(chat): drop ENABLE_SLOW_PATH flag + make chat persistence read-only (b8b76c4fb8db21de183cc6f80c0acba0d35bdad1) - [NOTICKET] feat(storage): read tabular Parquet from Supabase S3 via provider toggle (3f48226adaf2ed107a4eb2c0373cbb73fc62f552) Co-authored-by: Sofhia Az-Zahra <sofhiaazzhr@users.noreply.huggingface.co>079782d
-
/fix message_id for chat/stream Endpoint (#6)
- [NOTICKET] refactor(api): server-mint message_id only; unwire v1 chat (729086150b982cbd747829074658bc798d8e18f4)d8e7745 -
feat/ Endpoint Restructure (#5)
- [KM-686] Unwire Non-AI Routers from Main + Swagger (0b2d6785801ecc4d58a32580b1a9ef6238059de2) - [NOTICKET] docs: pr/5 sprint tracker + endpoint-restructure contract + REPO_STATUS banner (ce7be178428cadf1884a77d3d1f1398dccf32f6e) - [KM-687] Add Dedicated /tools/help Endpoint + Regroup Tools List (a881d38851470bf685990fdb554417da4fc1eccd) - [KM-688] feat(api): v2 chat pilot + regroup report under /tools; adopt lead API contracts (ad2ce619b51c234a8cd1c3772417a9a542a9a40d) Co-authored-by: Sofhia Az-Zahra <sofhiaazzhr@users.noreply.huggingface.co>3bacc1d
-
feat/Analysis State & Report Rework (#4)
- [NOTICKET] Add project repo documentation (ade9c0c635b1bb6f171a3f4e710e6d0f9bae28f3) - [KM-674] feat(report): adapt report generator to objective + business_questions (9bd8ec51fdcd5057b5e8ba6b219a7d9dce945144) - [NOTICKET] Add revision plan md file (e0384e1dc600b2496f96cbba152e616d65650f07) - chore(docs): tidy root markdown — archive stale docs, delete superseded ones (4835fb85915bd69079fb43d7c602774d514e02ae) - [KM-652] refactor: remove problem_statement skill + problem_validated gate (057e0b24b56dd697603d183f508cb1e8a87268fd) - [KM-678] feat(tools): trim FE slash menu to /help + /report (fed17ccc98ec523088c482673132763826f86701) - [NOTICKET] docs: sync DEV_PLAN status (#8/#9/#20) (e936cfafdfde1385fe16bd7e3796e7d46c193197) - [KM-679] fix(help): drop problem_statement refs after KM-652 (0bec4725db572d492634ced6a80ef6e65d075edc) - [KM-680] feat(report): show author display name (users.fullname) (9bccc122878fbdbae0ac1bd0b4316f5ea8af658c) - [NOTICKET] docs: add API_ENDPOINTS.md (FE surf…0e02a0f