Skip to content

feat(describe): LLM labeling of process paths (kb describe, 4th slice)#28

Merged
v0ropaev merged 2 commits into
masterfrom
feat/process-labeler
Jul 7, 2026
Merged

feat(describe): LLM labeling of process paths (kb describe, 4th slice)#28
v0ropaev merged 2 commits into
masterfrom
feat/process-labeler

Conversation

@v0ropaev

@v0ropaev v0ropaev commented Jul 7, 2026

Copy link
Copy Markdown
Owner

What

Extends kb describe with a fourth slice: DESCRIBE_KINDS gains process_path, so the key-gated describe pass now writes a grounded NL name/summary for each materialized business-process path (desc:process:...), with a larger facts budget (facts_cap=4000) because the path payload (steps/edges/sink) is rich prompt context. Route/entity/module/package prompts stay byte-identical (default cap unchanged, no PROMPT_VERSION bump).

Why

Closes the last slice of DESIGN §14 item 2 (the one grounded business-process extractor): PR #27 materialized paths deterministically (confidence 1.0); this PR adds the LLM labeler under the same validate_claims floor — claims validate against the path's own spans, fabricated claims are dropped, nothing is stored if none survive, and the stored label carries confidence = kept/(kept+dropped) < 1.0, the honest unknown-unknowns pricing promised in DESIGN §9. Roadmap item "Grounded business-process extraction" flips to shipped.

Gates

Headline HARD gate count stays fourteen — the existing semantic-grounding gate is extended with a process-path fixture (unique lp package; route handler in one file calling a sink-bearing helper in another, matched via the fixture's own .kb/sinks.yaml): real claim kept, fabricated claim dropped, is_deterministic=False, provenance spans ≥ 2 files.

Local: ruff clean, mypy --strict clean, pytest -q → 103 passed, 1 skipped.

Next

Release v0.6.0 (call-graph + process paths + labeler).

v0ropaev added 2 commits July 7, 2026 23:32
DESCRIBE_KINDS gains process_path: kb describe now writes a grounded NL
name/summary for each materialized business-process path, with a larger
facts budget (facts_cap=4000) since the path payload (steps/edges/sink)
is rich context. Claims validate against the path's own spans; the
stored label ships with confidence = kept/(kept+dropped) < 1.0 — the
DESIGN §9 unknown-unknowns pricing, as promised. Route/entity/module/
package prompts stay byte-identical (no PROMPT_VERSION bump).

The semantic-grounding gate gains a process-path fixture (multi-file
path via the fixture's own .kb/sinks.yaml; real claim kept, fabricated
claim dropped, provenance across 2 files). Headline HARD gates stay
fourteen. Closes DESIGN §14 item 2.
@v0ropaev v0ropaev merged commit a40d44b into master Jul 7, 2026
4 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.

1 participant