Repository navigation
MCP GHA two-arm ciphertext staging qualification - #557
mark-e-deyoung wants to merge 71 commits into
Conversation
…ed-arm receipt verification
…ed-arm receipt verification
…ed-arm receipt verification
…ed-arm receipt verification
…led receipt verifier
…ns and three-audience DX
…tive job/artifact constraints and no source promotion
…, altered receipts and symlink escapes
…nt private pair ingestion acceptance gates
…rivacy and input rejection
…ntical concurrent ciphertext submissions
…committed target denial
…nd run-attempt verification
…ct artifact IDs and fail-closed negative states
…uthentication boundaries
… REST origin; use injectability only for mock testing
…ixed production GitHub origin
…or concurrently mutated stage files
…rectories across atomic ciphertext commit
…ertext on idempotent replay
|
MCP GHA continuation (2026-10-27): ciphertext-only paired ingestion candidate is staged in stacked public DRAFT PR #557 (base #556), head 8180f0b. Native public GHA run 40557631029 SUCCESS (Go race -count=3, vet, build, read-only historical run observation). Offline Go |
…hetic artifact roundtrip
…cts by immutable GitHub IDs and verify offline idempotent staging
…stinguish nested collector provenance from workflow head
…ot paths and digest mismatch errors
…ality and first-failure corrections
2026-10-27 NEXT READY executed — true GitHub artifact upload/download/re-stage for dual synthetic armsCurrent source and owner gates: Public runner draft PR #555 remains unmerged; read-only controller draft PR #556 remains unmerged; stacked custody draft PR #557 on branch feat/mcp-gha-private-ciphertext-stage-20261027 remains unmerged. No protected keys, no use of private GHA minutes, no release/deploy/merge, no genuine CPE-derived queries or blinded Stage P. Authoritative native receipt: GHA run 40562713367 3/3 jobs SUCCESS. Reference job 122395739738 produced native artifact 12760379376, name mcp-gha-artifact-test-reference-40562713367-1; CPE-labelled job 122395740256 produced native artifact 12760628947, name mcp-gha-artifact-test-cpe-40562713367-1. Third job 122396260895 independently fetched GitHub native job and artifact metadata, resolved 2 unique native IDs, downloaded both ciphertext/receipt packages by exact artifact ID, checked byte-accurate receipt/ciphertext hashes with Go, staged the five files to a restricted local directory, then replayed and received IDEMPOTENT_CIPHERTEXT_ALREADY_STAGED. Positive markers: MCP_GHA_REAL_NATIVE_TWO_ARM_JOB_ARTIFACT_IDS_RESOLVED and MCP_GHA_GENUINE_GITHUB_ARTIFACT_DOWNLOAD_AND_CIPHERTEXT_STAGE_PASS. Connected GitHub artifact listing independently verified both IDs with 23,996/23,624-byte archived artifacts, nonexpired at observation and associated with run 40562713367. One-day retention; no long-term private archive. Real provider path and split source custody: Each physical GHA VM ran fixed EN/DE/TH synthetic search queries through pinned Docker SearXNG and age-encrypted locally; only result.age + sanitized receipt.json uploaded. Age identities were disposable VM-local, never archived. Workflow source was PR #557 revision d0505fb; collector source was independently pinned from draft runner PR #555 at 330c65f. Because the test intentionally composes two distinct source revisions, it does NOT satisfy the intended production one-source native provenance contract. Both source roles must be independently frozen/admitted, or integrated into one reviewed source tree before private artifact re-intake. Qualified real GHA artifact transfer, NOT secure private ingestion or science. First failures and fixes: First attempt 40561808435 attempted to invoke Stage R source absent from stacked staging PR, so both worker jobs failed before upload. Corrected via fixed SHA-checkout of actual Stage R source, preserving revision identity. Second run 40562235141 had both arm jobs SUCCESS and resolved two native artifact IDs but aggregator failed on download path: pinned download-artifact v4.3.0 expanded an extra nested directory. Corrected by pinning official download-artifact v8.0.2 full SHA 9000827ccba6bdab643e8b6fd33ac0654aef8333, which downloads by ID to the requested path and treats digest mismatch as error. Native third run 40562713367 PASS. Proof limit: private vault host was never used; the ingest/stage sandbox in GHA runner was ephemeral and destroyed on job exit; no durable private ciphertext owner custody, legitimate CPE projection, CPE identity/projection signatures, decryption or blind comparison. The post-hoc synthetic manifest is not an authorized independent assignment; matching hashes are only local-byte consistency. Do NOT mark INGESTED/VALIDATED. GitHub native artifact retention is 1 day in this qualification. Next READY: Independently review PR #557 + #556 + #555, reconcile composite-source provenance without inventing SHA authority, qualify trusted host/capability admission for immutable native artifact download and stage, secure owner-controlled age identity/public-recipient distribution and durable DLE writeback, then separately qualify real frozen independent reference and authenticated CPE treatment. Full tested source+limitations in docs/mcp-gha-ciphertext-custody-mvp.md on PR #557; current docs head ae61bce (post-success documentation only). Preserve all owner approval gates. |
|
Qualification recheck after documentation update: native 40563237325 ALL THREE JOBS SUCCESS at PR #557 HEAD ae61bce (reference 122397565698, CPE-labelled 122397565380, ID-based download+Go pair stage 122398505317). Native artifact listing confirms unexpired reference ID 12762535029 and CPE ID 12762415171, 1-day retention. The read-only contract run 40563237381 also SUCCESS. Both synthetic artifacts/keys remain entirely out of private custody; composite source and genuine CPE holds remain unchanged. |
…reserving single-source v1 safety boundary
… false positives from policy-checker's own source
… false-positive and three-audience guarded handoff
2026-10-28 parallel public GHA qualification — executed, verified and handed offLive authority: public read-only PR #556 is MERGED on main. Public runner PR #555 remains DRAFT/UNMERGED (last observed head Work EXECUTED, no background assumption: Added First failure: native parallel 40629498974 returned 3/3 Go workstream jobs SUCCESS, policy auditor FAILED because Final native proof, corrected source
Disposition: Next READY: Independent review of #557 11-file diff, eliminate redundant CI where feasible without losing distinct negative controls, then compose a bounded trusted-private-host ingest with owner-controlled vault; test complete run/artifact/assignment integrity and recoverable storage, only with approved private authority. Do not promote synthetic results to scientific evidence. |
…ject staged pathname substitution
…criptor, reject path/file changes
…ized and replaced/mutated files
…locking regular snapshot
…ut during Go byte verification
…symlink cipher and hardlinked manifest
… native passes and private qualification boundary
2026-10-28 concurrent public/private custody reconciliation — public hardening executed, private exact-head admission heldAuthoritative GitHub state: public Independent parallel public GHA execution, real receipts: Public #557 source changed in bounded Go stage/receipt/manifest/verification seam. Old path
Scope and red-team limitation: FD binding reduces malicious symlink/path-swap/FIFO/hardlink risks for local Go read, but not all directory/mount attacks, an authenticated publisher signature, or immutable source rights. Public GHA is not confidential; no protected prompt, rights-limited source, live private identity, private decrypt, or blind experimental oracle entered public CI. A synthetic CPE-labelled arm still is NOT genuine CPE-projected treatment. Native GitHub green != private Separate private PR #701 frontier: Source-only host-only Parallel lanes still useful: Current hold: NO draft merges, deployment, credential changes, private-minute expenditure, true CPE ingestion or scientific validation performed. Full public qualification record in |
…wo-arm ciphertext snapshots
…cker creates empty destination after Lstat
…eplace custody races
… collector runners with independent fail-closed result
…per qualification with native exact-head evidence
2026-10-28 bounded continuation — parallel public custody correction and adversarial native artifact joinDiscover/Observe: Reconciled live public Agent Dispatch PR #555 (DRAFT, unmerged, head Parallel source-only APPLY on public PR #557: Identified a specific remaining race: after Independent parallel real-artifact adversarial qualification: Updated existing public synthetic Native VERIFY receipts on exact source
Three audiences: Human reviews native matrix runs, source difference and DLE; automation uses typed Go arm/pair/native/ciphertext stage and fail-closed status codes; agents observe via existing project-native Agent Dispatch worksets, with no newly created controller or unauthorized source projection. Public stage is still not trusted private INGESTED or scientifically VALIDATED. FD-safe local reads and Linux no-replace mitigate filesystem races but do not authenticate owner admission, source rights, or complete malicious mount/ancestor directory control. Next baton / holds: Disposition: |
Source-level review: two bounded public negative-test opportunities (2026-10-29)In the unmerged public Go custody source, Separately, the public Stage-R source in draft PR #555 computes each hit Both are public-safe synthetic/source-only reviews. No protected CPE source, private DLE, secret, private code, live dispatch, merge or deployment was sent here. Governing task-specific DLE remains with its existing owner. |
2026-10-29 pinned-input correction at exact head
|
…paired manifest JSON
…d Go pair-plan decode
…pair JSON keys; permit safe nesting
…iteral backslash key
|
Public synthetic-source qualification (updated after Unicode simple-fold falsification), 2026-10-29. Draft PR #557 head |
…iases, cap object keys at 64
…-only and enforce 64-key bound
Stacked source-only draft after #556. Offline Go file-staging primitive and negative tests. No merge, no deployment, no decryption or provenance promotion. Research authority: Search Adapters #240.