Skip to content

Agentic engineering roadmap: contract-driven implementation, independent acceptance and gated delivery #442

Open

Description

@cloga

Goal

Evolve this repository from agents following engineering instructions into a traceable delivery loop: requirement contract -> scoped implementation -> independent acceptance -> deterministic review/CI gates -> existing release delivery -> effectiveness review.

The user requested that the proposed direction be recorded in an issue and implementation move forward. This is authorization to improve repository engineering, not to install into a live profile, read credentials, perform OAuth, restart Sessions, modify Core, or activate new paid/scheduled agents.

Existing foundation

  • AGENTS.md, agent-contract.json, and scripts/agent.mjs define ownership, plans, risks and permission boundaries.
  • pnpm verify covers contract checks, types, tests, build and package imports.
  • Windows/Linux CI verifies unchanged exact tagged Core source and published artifacts.
  • release-ready and the reusable Release workflow gate main publication and verify GitHub/npm artifacts.
  • The evidence ladder and evidence-driven iteration already distinguish synthetic, runtime, published, installed and loaded evidence.

Roadmap

  • Phase 1: add bounded, machine-checkable task acceptance contracts and commit-bound evidence validation through existing tooling; prevent current-Core documentation drift; document precisely what the checker does and does not attest. Completed in feat(tooling): add commit-bound acceptance evidence pilot #445; implementation issue Add commit-bound acceptance evidence tooling and current-Core template drift checks #443.
  • Phase 2: integrate independently executed acceptance and bounded repair loops using native sessions/jobs and existing Actions. Enforce evaluator/implementation separation through trusted workflow and permissions, not prompt text alone. Preserve required reviews and release ownership. Completed in feat(tooling): enforce explicit environments and exact-head CI evidence #452 (merge a7a59c56); exact-head CI and deterministic evidence guard passed. Evidence validation remains consistency-only and does not itself attest agent independence.
  • Phase 3: curate isolated historical engineering tasks with held-out acceptance cases; compare task success, first-pass acceptance, repair rounds, human intervention, elapsed time and total cost including failed attempts. Keep samples and unknowns explicit.

Start with a small credential-free tooling pilot. These phases are separate increments, not permission to claim the entire roadmap complete after a schema check.

Acceptance design

Each task identifies its tracking issue, scope, non-goals, requirement IDs, verification methods and required evidence. Evidence identifies the exact source revision, environment, result and provenance. Results distinguish passed, failed, blocked and not-run; missing, stale, duplicate or unknown evidence must not pass. Later code changes invalidate earlier acceptance evidence.

Independent acceptance starts from original requirements and adverse cases, not only the implementation report. For bug fixes, demonstrate the relevant regression on the old version and success on the candidate when feasible. Browser interaction and persistence checks complement unit tests; screenshots alone are not behavioral acceptance.

Use deterministic checks for machine-verifiable outcomes. AI review is additional evidence, not a substitute for required human review, branch protection, real execution, or product judgment. A report written by an agent is not an attestation of execution. Protect acceptance policy, tests and workflow changes from self-approval in the trusted integration phase.

Concrete initial gap

.github/PULL_REQUEST_TEMPLATE.md names 0.2.1-alpha.5 while package metadata and current CI target 0.2.1-rc.3. Resolve this drift and mechanically prevent recurrence without rewriting historical evidence.

Boundaries

  • Plugin-only; no Core changes, patched dependencies, second orchestration daemon or parallel publication path.
  • Reuse existing contract/tooling and source-of-truth metadata.
  • No production account/profile access, automatic diagnostic uploads, sign-out, installation or restart.
  • Bounded work and repair attempts; do not rerun failures until green or weaken assertions.
  • Keep repository-internal tooling separate from product release-bearing changes; existing release policy determines publication.
  • Evidence validation cannot prove agent independence, live runtime behavior or branch-protection configuration by itself.

References

Progress reporting

Link implementation issues/PRs and actual evidence for each phase. Leave later phases open until their outcomes are demonstrated. Report merged/published/installed/loaded states separately.

Activity

  1. cloga commented on Oct 24, 2026

    @cloga
    OwnerAuthor

    Included in the backlog audit after this roadmap was created. Valid, distinct staged engineering work: #443 is the bounded first implementation; independent acceptance and held-out historical evaluation remain later phases. Retain the roadmap; neither schema validation nor the separate runtime bug-fix cleanup constitutes completion of all phases. No duplicate orchestration implementation is being added here.

  2. cloga commented on Oct 24, 2026

    @cloga
    OwnerAuthor

    Phase 1 is merged in #445 as 6a503bdccfd914c57eb371e33c1e147c6ae5ee1f; #443 is closed. The merged Git tree exactly matches the verified candidate (3758b3dcebcd17534d1023e53b3767c1a472407e).

    Delivered: bounded requirement/report validation through agent.mjs accept, clean-commit and exact contract/artifact binding, explicit failed/blocked/not-run outcomes, duplicate/escaped JSON key rejection, current-Core PR-template drift guard, and source-checkout documentation. The check remains integrity-only; execution, environment truth and reviewer independence are explicitly unverified.

    Evidence: complete clean-candidate gate passed (2,787 Vitest passes, 2 expected local skips; 436 tooling passes), local archive verification passed, and the fresh Windows/Linux source/artifact matrix plus release-ready passed: https://github.com/cloga/dsh-github-copilot/actions/runs/40141489471 . Independent code review caught duplicate JSON overwrite; it was reproduced and fixed before final validation. When main advanced, strict merge protection was honored: the base and evidence were refreshed and CI rerun, not bypassed.

    This increment creates no new plugin version and performs no profile installation, restart, OAuth or diagnostic upload. The inherited alpha.2 version belongs to the preceding product change, not this tooling increment.

    Next: phase 2 must establish trusted independent evaluation, candidate/contract binding, protection for policy/test changes, and bounded repair/cost/time using existing sessions/jobs and Actions. Phase 3 remains historical-task evaluation with held-out checks. Both remain open; a self-reported producer field is not their implementation.

  3. cloga commented on Oct 25, 2026

    @cloga
    OwnerAuthor

    Phase 2 is now implemented in #452 and merged as a7a59c56aa7d5846942e34bf764a8b689caa7b59; exact-head Windows/Linux verify, Published adapter and release-ready passed. The engineering contract now includes deterministic environment and CI-evidence guards, current-app/welcome lifecycle checks, and a separately recorded user-authorized residual-risk disposition that never converts untested scenarios into passes or auto-closes issues. The post-merge release job was canceled before tag/GitHub/npm publication under the prior no-publish boundary. Phase 3 (held-out evaluation and measured task outcomes/cost) remains open; roadmap not complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions