Repository navigation
Conversation
… settlement exception The classify guard now passes classified_flow_qname, remember_classification and not_a_settlement beside the account choice. None of them posts. Claude-Session: https://claude.ai/code/session_01AGZDQdkBCwZfuhmNzUEnPU
Row O sends the task to the stack's operator, commits what it classified as the approving person would, and scores the books. A close is not run and a line that needs a new account is expected to be left open. Claude-Session: https://claude.ai/code/session_01AGZDQdkBCwZfuhmNzUEnPU
|
Change classification: normal — platform or application code changed. A normal change carries a documented automated review on this pull request before merge, in place of a second human approver. The |
|
@claude please review this PR |
|
Claude finished @jfrench9's task in 27s —— View job Review of PR #2019: run the ledger tasks through the author operatorI read the diff, and checked the result and metadata keys the benchmark reads against Operator change (
Benchmark (
Tests and docs
|
Summary
The ledger benchmark can now run its tasks through the stack's own author operator, and the operator can make three choices that go with a classification it was already allowed to make.
Changes
Operators
operations/operators/implementations/author.py: the classify guard onupdate-event-blocknow passesclassified_flow_qname,remember_classificationandnot_a_settlementbeside the account choice. The transition is stillclassifiedonly; committing, voiding and editing stay a person's step. The operator's prompt names the three keys.Benchmark (
benchmarks/ledger/, not in the image)operator.py(new),rows.py,__main__.py: rowOsends each task to the author operator, waits for the run, commits what it classified as the approving person would, and scores the books with the existing scorer.monthis not run (a close is a person's step) and a line that needs a new account is expected to be left open. Cost is worked out from the run's tokens; the record keeps the credits it metered.mcp.py: a helper for calls to the stack's API outside MCP.README.md: describes the row.Worth a close look:
not_a_settlementlets the operator classify a line that matches an open bill to another account. It still only classifies, so the choice waits on a person's commit.Breaking Changes
None.
Testing
tests/security/test_cypher_analyzer.py::TestGuardedStringMatchCost::test_many_labels_rebound_many_times_stay_linearis a 2-second timing check that failed twice underjust test-allon a heavily loaded machine and passes alone; this branch does not touch it or the code it covers. CI is the check for it.Certification
🤖 Generated with Claude Code
https://claude.ai/code/session_01AGZDQdkBCwZfuhmNzUEnPU