[EPIC][expert] Requirement / SPEC expert: normalize obligations, freeze intent, and block silent requirement drift #420
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/prolog-rlm#420
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent: #376
Depends on: #377
Integrates with: #93, existing
rlm_spec*APIs, #56Goal
Add a reusable Requirement / SPEC Expert responsible for turning an operator requirement or existing structured requirement set into a validated, inspectable, immutable Frozen Spec suitable for the expert loop.
This expert does not plan implementation and does not execute project mutations. It establishes what must be true.
Primary responsibilities
Natural-language input
Natural language is an optional front door, not the authority boundary.
Preferred order:
Any LLM use is an explicit metered fallback. Model output is inert candidate SPEC data until the canonical SPEC validator accepts it.
Expert contract
Conceptual accepted goals:
Outputs preserve at least:
Hard invariant: Frozen Spec is not repairable
Downstream Planner, Write, Repair, Review and Verify experts may inspect the Frozen Spec but cannot mutate it in place.
If the operator genuinely changes requirements, create a new version/superseding Spec through this expert and preserve the relationship between versions.
A repair loop is forbidden from deleting or weakening an obligation merely because it is hard to satisfy.
Deterministic reasoning
Use Prolog rules/constraints where useful for:
Consider CLP(FD)/CLP(Q/R) where applicable rather than asking a model to reason about formal constraints.
Integration
The full expert loop starts only after either:
or an explicitly supplied existing valid Frozen Spec.
The Coordinator Expert receives the fingerprinted Frozen Spec and must bind all planning/replanning against it.
The Verify Expert evaluates that same immutable ref.
Acceptance
Non-goals
Refs #376 #377 #93 #56