Repository navigation
refactor(host): detach the AQE router, hook audit and lifecycle from the admitted-host overlay (P0-04, part 2 of 3) - #471
Merged
Conversation
…P0-04) Detaches the AQE external-provider code, the external hook-audit host and the external lifecycle entries from the admitted-host overlay. Records decisions D1 to D5.
… router and its readers (P0-04, PR B task 1)
… (P0-04, PR B task 2)
…itted-host lifecycle (P0-04, PR B task 3)
…r sentence in the providers block (P0-04, PR B task 4)
…he PR A plan (P0-04, PR B task 5)
…ceipt behavior, keep config loading to --host all (P0-04, PR B task 6)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Pull request B of three for #324 (P0-04, epic #295, release
4.0.0-beta.1). After A closed the door, B detaches the three remaining built-in consumers of the admitted-host overlay (the AQE router and providers, the hook audit, and the lifecycle loops), so pull request C can delete the adapter cluster without editing a built-in file. Claude Code, Codex and OpenCode behave as before. #324 closes when C merges.Old to new
ak x hostak verifyak syncexternalProviders, activations and receiptsak x host pick --aqe-provider <not built in>unknown aqe provider '...'plus the built-in list (now has a test)ak audit hooks --host external,ak heal hooks --host external,ak audit context --host externalunknown --host value(s): externalak audit hooks --jsonreports.external, andexternalinhostsandruntimeVersionsak audit contextdefault (all)summary.hosts4 to 3,unsupportedHosts1 to 0)ak statuskit.jsonhostAdapters[], read by admissionDecisions (approved 2026-10-07)
lifecycle-registry.mjsstay, becauseadmission.mjsstill importsregisterAdmittedLifecycle; C deletes them with it.ak audit hooksloads the kit config only for--host all, so OpenCode ownership is unchanged. The review foundak audit contexthad stopped passing the config (it expandedallfirst); fixed, with a test.main(after A),ak syncpruned stale external declarations, activations and receipts from.agentic-qe/llm-config.json; after B it leaves them byte-identical. What AQE does with a staleexternalProvidersentry is not verified.Off-plan edits
src/lib/hook-audit/agentic-dependency-constraints.json: the retired agentic-qe#628 watch entry no longer listssrc/lib/providers.mjs, because the comment that cited #628 went with the version gate (upstream-watch-registry.test.mjsrequires every named file to cite its thread).docs/proposals/v5-planning-sources.mdkeeps itsHook audit | external.mjsrow: it points into the tag, and the rows for files A deleted also stay. C owns that file.'adapter-declared'removed from the provenance vocabulary incontext-audit.mjsandcontext-budget.mjs(no producer remained), as the plan allowed.Review
A fresh whole-branch review (most capable model, read-only, with CLI probes against a copy of
main) found 0 Critical, 1 Important, 6 Minor. Fixed: the explicit-provider default line had no test (now pinned; mutation fails it);ak audit contextconfig loading; a test that rewrites the router and checks external keys survive; stale comments and fixtures;adapter-declared. Not changed: a comment indocs/plans/2026-10-01-prereq-maintenance-hook-scope.mdstill names the removed source kind.Verification
typecheck,lintandlint:cc(0 errors),lint:md,lint:links:internal(0 errors),build,docs-layout: pass.node scripts/run-tests.mjs unit: 6465 tests, 6457 pass, 0 fail, 8 skipped; coverage 94.29% line, 84.08% branch, 93.34% function.test:ui, any Windows run, a replay of the edit scripts into a second worktree.externalProvidersentries; propagation of the editedclaude/providers-reference.mdblock into a user's~/.claude/CLAUDE.mdon the nextak sync.🤖 Generated with Claude Code