Batch: agent work from agent-develop #92

Merged
EduarD3V merged 33 commits from agent-develop into develop 2026-10-09 09:19:41 +02:00
Collaborator

One batch of agent work, integrated on agent-develop and conflict-free against develop.

Commits:

78b750e Merge pull request 'Sync develop into agent-develop' (#84) from develop into agent-develop

Merged issue PRs:
Merge pull request 'Sync develop into agent-develop' (#84) from develop into agent-develop

CI runs on this PR: the five required contexts on develop must be green before it is merged.
Every contained PR was already green on its own branch.

Refs (#26 etc. - no closing keywords).

One batch of agent work, integrated on `agent-develop` and conflict-free against `develop`. Commits: ``` 78b750e Merge pull request 'Sync develop into agent-develop' (#84) from develop into agent-develop ``` Merged issue PRs: Merge pull request 'Sync develop into agent-develop' (#84) from develop into agent-develop CI runs on this PR: the five required contexts on `develop` must be green before it is merged. Every contained PR was already green on its own branch. Refs (#26 etc. - no closing keywords).
Merge pull request 'Sync develop into agent-develop' (#84) from develop into agent-develop
All checks were successful
agent-guards / test-tampering (pull_request) Successful in 31s
CI and agent release / check-docs (pull_request) Successful in 29s
CI and agent release / test-agent (pull_request) Successful in 1m38s
CI and agent release / test-dashboard (pull_request) Successful in 2m49s
CI and agent release / test-middleware (pull_request) Successful in 8m46s
CI and agent release / build (pull_request) Has been skipped
CI and agent release / release (pull_request) Has been skipped
CI and agent release / publish-images (pull_request) Has been skipped
78b750ea1e
The single untyped read_database_table table browser is replaced by
per-object tools that project explicit fields, page with an opaque
cursor, and enumerate valid fields/statuses on a bad request:
plan_read, rule_read, incident_read, executions_for_plan, execution_read.
read_machine_context is renamed machine_read.

Writes gain plan_update, plan_delete, plan_test, rule_update and
rule_delete: all blocked in plan mode, operator-request gated, and
authorized per row via inScope. plan_test reports the dry run
(compatibility + kill switch + concrete commit) without calling
decide(), so it never enqueues and never leaks a lease.

middleware/src/ai-table-reader.ts is deleted; hub publishes remove
events for plan/rule deletes through the new optional hubRemove dep.

Refs #85
(Refs #85)
Rewrites the use case around per-object reads and writes, updates the
tool lists in UC-MW-151/UC-MW-169, the catalog index, and the two
plan documents that named read_database_table / read_machine_context.

Refs #85
(Refs #85)
(Refs #85)
The ControlScope interface hunk in 2afb694 replaced the denial member with
canWrite, but four call sites still use scope.denial (runOne, run_on_machines,
dispatch) and resolveControlScope still returns it — tsc reported TS2339/TS2353
on control-agent.ts. Refs #85
UC-MW-136 claimed every listed write runs blockInPlanMode +
requireOperatorRequest; plan_test runs neither (it is filtered from the
plan-mode tool list and has no operator-request gate), so the story and main
flow now separate it from the mutating writes. The permissions-audit plan
still told the reader to edit ai-table-reader.ts / readDatabaseTable, both
deleted by this issue — Task 3a and its test step now describe ControlRowVisibility
and the plan_read visibility check. Refs #85
Refs #85
This reverts commit 086f5aa50c.
Refs #85
The budget gate advertised 14 of 21 tools on a tiny window while the
system prompt still told the model it operated through all of them, so
the first write attempt burned a turn on a harness tool error — in the
very window the gate exists to protect. The prompt now states which
tier was dropped; reads and the gate itself are unchanged.

Refs #85
fitControlTools had no direct assertions — only the end-to-end UC-MW-115
tiny-window chat. Two tests now pin the contract: a 2048-token window
drops exactly the seven write tools and keeps every read tool, and a
fitting or unknown window returns the tool list untouched.

Refs #85
Merge pull request 'Issue #85: typed object tools replace read_database_table (budget-gated writes)' (#94) from issue/85-typed-object-tools into agent-develop
All checks were successful
CI and agent release / test-dashboard (pull_request) Successful in 2m46s
CI and agent release / test-middleware (pull_request) Successful in 9m15s
CI and agent release / build (pull_request) Has been skipped
CI and agent release / release (pull_request) Has been skipped
CI and agent release / publish-images (pull_request) Has been skipped
CI and agent release / check-docs (pull_request) Successful in 31s
agent-guards / test-tampering (pull_request) Successful in 44s
CI and agent release / test-agent (pull_request) Successful in 1m38s
0a3e3553ee
Refs #86
Refs #86
- applyResult scores from the last step: a failing or aborted run can never be remediated
- ExecutionStatus gains aborted; result enum, terminal lists, overview, and control poll include it
- PlanVerify.expect accepts { command, exit_code }; object form without an integer exit_code is rejected at create/patch
- recheck only compares the string form against PromQL output

Refs #86
An on_failure/goto/next abort hop sets an abort flag, and the run reports
status aborted instead of remediated, so middleware never scores a stopped
plan as fixed. Refs #86
StatusPill, ExecutionPeek retry, app.css destructive badge, and the types
mirror learn aborted. Refs #86
New UCs; UC-MW-16 notes rewritten to the derived-status rule; UC-MW-122,
UC-MW-107, UC-AG-12, UC-AG-64 related/versions updated. Refs #86
Refs #86
# Conflicts:
#	middleware/src/control-agent.ts
Merge pull request 'Issue #86: Plans report remediated after aborting (false green)' (#95) from issue/86-abort-false-green into agent-develop
All checks were successful
agent-guards / test-tampering (pull_request) Successful in 38s
CI and agent release / check-docs (pull_request) Successful in 26s
CI and agent release / test-agent (pull_request) Successful in 1m35s
CI and agent release / test-dashboard (pull_request) Successful in 3m25s
CI and agent release / test-middleware (pull_request) Successful in 9m3s
CI and agent release / build (pull_request) Has been skipped
CI and agent release / release (pull_request) Has been skipped
CI and agent release / publish-images (pull_request) Has been skipped
d6bb5c3909
Merge pull request 'Issue #87: Refuse plan_delete when a match rule references it' (#96) from issue/87-plan-rule-update into agent-develop
All checks were successful
CI and agent release / check-docs (pull_request) Successful in 26s
agent-guards / test-tampering (pull_request) Successful in 43s
CI and agent release / test-agent (pull_request) Successful in 1m38s
CI and agent release / test-dashboard (pull_request) Successful in 2m29s
CI and agent release / test-middleware (pull_request) Successful in 9m17s
CI and agent release / build (pull_request) Has been skipped
CI and agent release / release (pull_request) Has been skipped
CI and agent release / publish-images (pull_request) Has been skipped
b638a135c5
Refs #88
Guard widened to a request verb (incl. fix, implement, set up, clean up, handle, address,
remediate) plus the plan/rule noun or an anaphor for it, so "fix it and improve it" passes.
requireOperatorRequest now throws a JSON refusal naming the satisfying condition and examples;
new read tool get_agent_guards exposes the state before a call.

UC-MW-172 (plan guard), UC-MW-173 (rule guard); UC-MW-137 updated.

Refs #88
Merge pull request 'Issue #88: plan/rule guards surface explicit-ask' (#97) from issue/88-create-guards-explicit into agent-develop
All checks were successful
agent-guards / test-tampering (pull_request) Successful in 35s
CI and agent release / check-docs (pull_request) Successful in 28s
CI and agent release / test-agent (pull_request) Successful in 1m38s
CI and agent release / test-dashboard (pull_request) Successful in 2m43s
CI and agent release / test-middleware (pull_request) Successful in 9m11s
CI and agent release / build (pull_request) Has been skipped
CI and agent release / release (pull_request) Has been skipped
CI and agent release / publish-images (pull_request) Has been skipped
038c94bbab
EduarD3V merged commit 28058f46a9 into develop 2026-10-09 09:19:41 +02:00
EduarD3V approved these changes 2026-10-09 09:21:15 +02:00
Sign in to join this conversation.
No description provided.