[DEL-B3] Policy-based Agent Routing, Selective Activation and Durable Resource Accounting
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Start from EPIC #315 and hard dependencies #316, #318, #319 to ground the baseline. Locate the controller and LLM Manager modules owning done acceptance and provider routing, and review ADR 0004 for effect ownership. Use deterministic fake provider with existing CLI integration tests to validate per-round and per-run bounds, keeping opt-in config backward compatible.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Parent: EPIC #315 · Stage M3 (adaptive coordination) · Size M · Reconciled 2026-10-25 (UTC) against main at f04db5f (state protocol 12). "Current scope" is authoritative. The earlier planning text follows verbatim and still applies where it does not conflict.
Current scope (reconciled 2026-10-25)
Policy-based agent routing, selective activation and durable resource accounting:
- an explicit role-to-provider policy;
- capability-aware provider selection;
- deterministic routing from recorded policy inputs;
- alternative providers only where they are configured;
- no unapproved API or model fallback;
- task-level and run-level budgets;
- aggregate physical-launch counting;
- runtime and storage bounds;
- token and cost provenance;
- explicit handling of unknown usage, which is never zero;
- crash-safe accounting;
- safe stop or pause outcomes;
- candidate preservation.
Enforceable ceilings versus estimates. Launch counts, runtime and storage are enforceable. Token and cost figures are observational. A monetary ceiling that cannot be guaranteed is reported as an estimate, never enforced as if it were exact.
Ownership. #154 owns normalized usage semantics (cumulative versus delta, unknown usage). #126 owns durable operator interaction and pause/resume; until it lands, the outcome of exhaustion is the existing safe stop. This issue consumes both and creates no competing usage or interaction protocol. Minimum aggregate limits already ship with #319; this issue adds policy and adaptivity on top.
Dependencies
- Hard (native): #316, #318, #319.
- Blocks (native): #322, #323.
- Coordination: #154, #126, #147.
Acceptance criteria (added 2026-10-25)
- Routing is a deterministic function of recorded policy inputs and capability observations; replay reproduces it.
- No provider, model or API change happens that the policy does not name.
- Physical launches are counted across correction relaunches, transient retries and resumes, and the count survives a crash.
- Unknown usage is recorded as unknown. A strict monetary ceiling with unknown usage stops or asks; it never assumes zero.
- Reports separate enforced ceilings from estimates.
Earlier planning text (verbatim)
Superseded where it conflicts with "Current scope" above. In particular, minimum aggregate caps now ship with #319; this issue adds policy-based routing and adaptive activation.
Parent: EPIC #315 · Wave B · Size M · Planning baseline f4fd5ef (2026-10-25 UTC). Research: GVS5H, not an implementation dependency.
Objective / deliverable
Implement feature-off-by-default admission for low/medium/high complexity or explicit operator opt-in. Cap manager/worker/verification rounds, total cost/token/time, request count and storage; derive trusted usage from normalized summaries where available (#154), distinguish cumulative vs delta, unknown cost and subscription plans. No unsupported assumptions about dollar cost or unlimited subscriptions; no silent API/provider fallback. Kill or pause with preserved state/candidate on exhaustion. Route optional roles only among configured Claude/OpenCode/Pi adapters after capability probe; heterogeneous model routing remains experiment not default.
Dependencies
- Hard: #316 (DEL-A1)
- Hard: #318 (DEL-A3)
- Hard: #319 (DEL-B1)
- Coordination only: #147 SDK providers / #126 interactions, #154 usage, #176 scheduler and #266 sandbox. Do not add blanket cross-EPIC hard blockers without evidence.
Acceptance criteria
- Default one-agent behavior and existing config remain unchanged, strict config validation for opt-in options
- Deterministic stop on per-round and per-run bounds, including crash resume and unknown usage
- No unapproved provider change, no rate-card hallucination, no bypass of step/review budgets
- Metrics include overhead and cost-per-validated-success with explicit unknown/estimated provenance
- Token-cost/success tradeoff thresholds and activation policy tied to baseline evidence from #318 (DEL-A3)
- Regression tests preserve original single-agent path, ADR 0004 controller-owned effects, exact candidate validation, ReviewCertificate and merge safety; provider credentials remain isolated.
- Docs/doctor/config compatibility updated where behavior changes; skipped real-runtime evidence never reported as pass.
Invariants / exclusions
The LLM Manager is advisory. Controller exclusively owns done acceptance, typed GitHub effects, state transitions, candidate identities and merge. Inner tasks are not GitHub native sub-issues and do not modify EPIC graph. Neither Agent nor verifier may execute repository-controlled commands outside the existing sandbox. No unbounded raw transcript/reasoning recording or ambient credentials. Feature remains opt-in; no Public Alpha #255 gate. Coordinate persisted schema on #23 before migration. Do not copy GVS5H's arbitrary subprocess verifier or its text-hash scratchpad and call it production recovery.
Verification hints
Use deterministic fake provider plus real existing CLI integration where available; include redacted bounded evidence, attack cases, failure/cancel/resume, explicit run/issue/candidate SHA. No new orchestration daemon or scheduler.
- Lingua principale
- Python
- Stelle
- 0
- Fork
- 0
- Merge medio
- 5h 51m
- PR unite (30g)
- 73
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di iceboundrock/AutoForge
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
iceboundrock/AutoForge#350 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
iceboundrock/AutoForge#304 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
iceboundrock/AutoForge#375 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
iceboundrock/AutoForge#374 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
iceboundrock/AutoForge#373 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di iceboundrock/AutoForge
Issue simili
-
lesson-submission pending-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Ikalus1988/MisakaNet#3956 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
aws-samples/sample-per-model-bedrock#574 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
521xueweihan/HelloGitHub#4133 ·
-
plot_components fails for logistic models with minmax scaling and no floorForse già presa @RaphaelFakhri l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 4 giorni
-
Update migenAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
YosysHQ/oss-cad-suite-build#220 ·