feat(cpp-evtx): full AgentProfile ports replacing CppParserAdapterBrick - #239
Draft
IanFrelinger wants to merge 6 commits into
Draft
feat(cpp-evtx): full AgentProfile ports replacing CppParserAdapterBrick#239IanFrelinger wants to merge 6 commits into
IanFrelinger wants to merge 6 commits into
Conversation
Prerequisite: domain-neutral SandboxSpec.Entrypoint so shared runner can override image ENTRYPOINT (needed for g++ on dep-extract). Port (a): GxxCompileValidator wraps AdapterCompileGate over ISandboxedCommandRunner + IScratchSpace.
Owns dep-extract image + mount layout; writes artifact/companions/smoke into scratch and returns SandboxSpec via GxxSandboxSpecFactory. Zero fixed-engine edits; domain names stay in DepExtract profile plugin.
Adds SnapshotManagedFileSet (temp-swap + rollback), PocoInstallTarget with ISingleFlightGuard and injectable stack ops, and rollback-on-build-failure tests. Zero fixed-engine interface edits; domain names stay in DepExtract.
Extracts BuildSystemPrompt/KnownContractVocabulary into profile helpers; deterministic + model drafters attach UnsupportedReferences/Confidence on the artifact; QtHeaderShims write into sandbox shim dir only.
Proposed additive core change (reviewed): preserve UnsupportedReferences/Confidence/Assumptions from profile drafters, and run post-validators on templated drafts even when artifact.Provenance is already set. Required for cpp-evtx compile-gate + grounding parity.
Wires GxxCompileValidator, DockerSandboxProvider, PocoInstallTarget, Cpp drafters into CppEvtxProfileFactory + AddNexoCppEvtxAgentProfile. Gui AdaptInstallLoop/plan/run drive GenerativeArtifactBrick target=cpp-evtx. Deletes CppParserAdapterBrick; migrates scoring/acceptance tests. Additive brick inputs: preferDeterministic + overrides.
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
Continues the generic-agent refactor off PR #238. Turns the C++/EVTX path into a real
AgentProfile(target="cpp-evtx") that drivesGenerativeArtifactBrick.CppParserAdapterBrickis deleted.Ports
GxxCompileValidatorDockerSandboxProviderPocoInstallTarget+SnapshotManagedFileSetCppEvtxProfileFactory+AddNexoCppEvtxAgentProfile()CppParserAdapterBrick+ migrate testsWhat moved into the profile
GxxCompileValidatoroverISandboxedCommandRunner/SandboxSpecDockerSandboxProvider(+ Qt shims into scratch shim dir only)PocoInstallTargetoverIManagedFileSet+ISingleFlightGuard+IPocoDeploymentOpsCppDeterministicDrafter/CppArtifactDrafter(CppAdapterPrompt, KnownContractVocabulary → UnsupportedReferences/Confidence)AddNexoCppEvtxAgentProfile(); Gui usesGenerativeArtifactBrick+CppEvtxAdaptRunnerProposed / additive core changes (reviewed, not silent)
SandboxSpec.Entrypoint(needed for dep-extract image) — earlier commitGenerativeArtifactBrick: merge draft provenance (UnsupportedReferences/Confidence/Assumptions) + re-validate templated drafts even whenartifact.Provenanceis setGenerativeArtifactBrickinputs:preferDeterministic,overridespassthrough (domain-neutral; needed for AdaptInstallLoop force-model path)Constraints held
Tests (real runs)
AdaptInstallLoopFailureLoopTests: 4 passed (also fixed TestHost JSON viaSafeJsonContent helper)Follow-ons (not in this PR)
RequiresNetwork→RequiresEgress+RequiresLocalServicesNexo.AnalyzersBrickInterface key rule