Skip to content

fix(router): add deterministic current-state runtime tells (issue #10) - #12

Open
Munawarx wants to merge 1 commit into
Nazim22:mainfrom
Munawarx:fix/issue10-current-state-tells
Open

fix(router): add deterministic current-state runtime tells (issue #10)#12
Munawarx wants to merge 1 commit into
Nazim22:mainfrom
Munawarx:fix/issue10-current-state-tells

Conversation

@Munawarx

Copy link
Copy Markdown
Contributor

Summary

Fixes issue #10 by adding a deterministic, local runtime-current-state tell family (candidate direction #2 from the issue) that catches natural phrasings of the core "what is the current/recorded state?" question class that were previously missed. Fully respects the no-LLM-in-the-hook-loop invariant — these are plain YAML phrases, no engine change.

Before / After (issue #10's exact reported phrasings)

prompt before after
does the store still read sales from the vendor archive folder? no contract runtime ✅
are we dependent on the vendor in any way? no contract runtime ✅
how does our connector ingest sales data today? no contract runtime ✅
is our ingest still file-based or register-direct? no contract runtime ✅
what did we decide about vendor independence? historical ✅ historical ✅ (unchanged)
is the fleet-hub alive right now? (custom noun) no contract runtime ✅

Result: 4 of 5 → 5 of 5 route (the 5th was already historical), and the custom-component-noun observation is now covered.

Measurement (honest, frozen slice)

Ground-rule compliance

  • ✅ Keep the measurement: before/after pasted above.
  • ✅ No LLM in the hook loop (deterministic YAML tells only).
  • ✅ RED test first (test/runtime-current-state.test.js reproduces the 5 misses), then the tells, both kept.
  • ✅ Additive only: touched policy/tells.yaml + a new test file. No contract-engine / adapter / receipt / lock / schema / security-boundary changes (stays out of the design-gauntlet surface).
  • ✅ Precision > recall: each phrase only fires on a live/recorded-state qualifier tied to a system/component noun, so it is almost never another family (per the file's stated rule).

Scope note

This is direction #2 only. I left project-registerable component nouns (#3) and miss-mining-as-a-loop (#4) out, pending your call on whether they should be a separate PR.

Test plan

Co-Authored-By: Hermes Agent noreply@hermes.ai

…im22#10)

Adds a precision-guarded 'runtime-current-state' tell family that catches
natural phrasings of the core 'what is the current/recorded state?' question
class missed in issue Nazim22#10 (still/depend on/ingest today/custom component nouns),
staying fully deterministic and local (no LLM in the hook loop).

Before: 4 of 5 reported phrasings got no contract (1 of 5 routed).
After:  all 5 route (4 runtime + the existing historical case); custom-noun
'fleet-hub alive right now?' now routes to runtime.

Router suite: 37/37 green (matcher/planner/decompose/satisfaction + new RED test).
RED test added first, then the tells, both kept. Additive only: no schema/engine/
adapter/receipt changes.

Co-Authored-By: Hermes Agent <noreply@hermes.ai>
@Munawarx

Copy link
Copy Markdown
Contributor Author

Tracking our current contribution set for Leadline (Munawarx). All are independent, each on its own branch:

Each PR is self-contained and ready to review independently. Happy to split, adjust, or rebase any of them. Co-Authored-By: Hermes Agent noreply@hermes.ai

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