Skip to content

feat(production): add deployable Direct-Agent profile - #17

Merged
thinksyncs merged 2 commits into
mainfrom
feat/product-v1
Aug 3, 2026
Merged

feat(production): add deployable Direct-Agent profile#17
thinksyncs merged 2 commits into
mainfrom
feat/product-v1

Conversation

@thinksyncs

Copy link
Copy Markdown
Collaborator

Summary

  • Add a supported Direct-Agent v1 production composition.
  • Integrate an independent protected-change HTTPS consumer.

Changes

  • Add role-separated trust and revocation snapshots, signed attestation-result appraisal, and a TLS Redis/Valkey SETNX replay adapter.
  • Bind the accepted TLS session to the exact canonical action and verifier nonce.
  • Add mTLS E2E and negative tests for changed actions, wrong sessions, replay, revocation, attestation failure, and replay-store outage.
  • Define the supported API, compatibility policy, deployment profile, changelog, and CI/red-team gates.

Testing

  • GOTOOLCHAIN=go1.26.0+auto go test -count=1 ./...
  • go test -race -count=1 ./pkg/production ./examples/protected-change-consumer
  • make product-security-gate
  • golangci-lint v2.11.1: 0 issues
  • go vet ./pkg/production ./examples/protected-change-consumer
  • actionlint .github/workflows/main.yaml .github/workflows/security-red-team.yaml
  • git diff --check

Notes

  • Hardware evidence acquisition and multi-node Redis/Valkey failover remain deployment validation boundaries.
  • The consumer is unrelated to Split-Knowledge.
  • Draft-06 v2, gateway runtime, and inherited Cocos runtime surfaces remain outside the supported v1 product API.

Copilot AI review requested due to automatic review settings August 3, 2026 03:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a supported “Direct-Agent v1” production composition (v1.0.0 surface) that bundles role-separated trust/revocation snapshots, signed attestation-result appraisal, and distributed replay protection, along with an independent HTTPS “protected-change” consumer and CI gates.

Changes:

  • Adds pkg/production with a fail-closed verification composition, TLS-derived binding helper, signed attestation-result policy, and a TLS Redis/Valkey SET NX PX replay adapter.
  • Adds an independent mTLS HTTPS consumer example (examples/protected-change-consumer) with E2E positive/negative coverage.
  • Documents the supported API/compat policy and the fixed production deployment profile; updates CI and security-red-team workflow scopes accordingly.

Reviewed changes

Copilot reviewed 19 out of 21 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
README.md Updates release/evidence wording and points to new API/profile docs and production components.
PUBLICATION_TODO.md Defines supported v1 surface and clarifies what remains experimental/out of scope.
pkg/production/redis.go Implements TLS-only Redis/Valkey SETNX replay adapter with bounded RESP handling.
pkg/production/redis_test.go Adds TLS SETNX race + config-rejection tests for the Redis/Valkey adapter.
pkg/production/profile.go Adds supported production composition that verifies tokens, policy, attestation, and commits replay state.
pkg/production/profile_test.go Adds unit/negative tests ensuring fail-closed behavior and no replay commit on failed gates.
pkg/production/binding.go Adds BindingFromTLS deriving expected binding from TLS session + canonical action + nonce.
pkg/production/attestation.go Adds signed attestation-result type and policy checks (key/policy/measurement/binder/time).
Makefile Extends security gate targets to include production and consumer packages.
examples/protected-change-consumer/README.md Documents the consumer boundary and how to run integration tests.
examples/protected-change-consumer/e2e_test.go Adds full mTLS request-boundary E2E tests (positive + negative cases).
examples/protected-change-consumer/app.go Implements the protected-change HTTP consumer using pkg/production.
docs/SSOT.md Updates SSOT to reference the supported production composition and profile doc.
docs/production-deployment-profile.md Adds the fixed “protected-change-v1” production deployment profile specification.
docs/live-red-team-report.md Updates report to include production extension coverage and new test evidence.
docs/API_COMPATIBILITY.md Defines supported Go API surface and compatibility policy starting at v1.0.0.
CHANGELOG.md Adds v1.0.0 changelog entry summarizing the supported production surface.
.github/workflows/security-red-team.yaml Expands red-team workflow path filters and packages under test.
.github/workflows/main.yaml Adds CI steps to test pkg/production and the consumer integration package.
Files not reviewed (2)
  • internal/proto/attestation-agent/attestation-agent.pb.go: Generated file
  • internal/proto/attestation/v1/attestation.pb.go: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

return nil, errors.New("invalid array count")
}
out := make([]string, count)
for i := range count {
Comment on lines +394 to +397
func testHash(value string) string {
digest := sha256.Sum256([]byte(value))
return "sha256:" + hex.EncodeToString(digest[:])
}
var winners atomic.Int32
var wg sync.WaitGroup
errCh := make(chan error, workers)
for range workers {
@thinksyncs
thinksyncs merged commit 9684c3d into main Aug 3, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants