Repository navigation
Hackathon/langchain hitl approval - #181
sairenchristianbuerano merged 4 commits into
Conversation
|
Thanks for splitting this cleanly across the two repos, @dezsow. The fixture addition matches the YAML in trustabl/agent-reliability-rules#110 byte for byte, so One blocking item. I also left a severity question on the rules PR that would change this YAML, so the two want to land together. LC-112 will need a rationale doc in Happy to take this once the coverage entries are in |
Resolves the fixture conflict. The branch was opened on 24 August and main has moved 260 commits since, adding LC-113, LC-114 and LC-116 to the same file, so the appended LC-112 block no longer applied. Resolved by rebuilding the fixture from current main plus the LC-112 block exactly as the paired rules pull request defines it, rather than hand-editing the conflicted copy. check-rules-sync.sh reports the fixture in sync with production across 130 files. LC-112 is still unclaimed in the shipped pack, which ships 101, 102, 103, 111, 113, 114 and 116, so the id this work reserved is still free.
LC-112 was free when this branch was opened on 24 August. It is not now: a tracing rule took it in langchain/tracing.yaml during the 260 commits since, so the loader refused the pack with a duplicate id and every subtest failed. Renumbered to LC-117, the next free id across the whole langchain pack rather than the next free one in agent_safety.yaml alone. The test file is renamed to match. Also adds the four cases to policies_test.go that TestPolicyRules_AllRulesCovered requires. A standalone test file is not enough on its own; the gate reads the central table, and it failed with "rules with no policy_test coverage at all: [LC-117]" until these were added. check-rules-sync.sh reports in sync across 130 files, and the paired change is on the same branch name in the rules repository so both CI jobs resolve it.
Mirrors LC-112 into the engine rule fixture and adds focused fire/silent regression tests. Coverage includes missing approval prerequisites, middleware without a checkpointer, an empty middleware list, the structurally safe case, and agents without privileged execution tools.
This does not change LangChain discovery, predicate semantics, or evaluator behavior; it exercises existing machinery against the new rule.