Repository navigation
feat: add A-only real-host pilot evidence and validation - #63
kitamura-tetsuo wants to merge 4 commits into
Conversation
Apply the owner-approved acceptance change and merge the reviewed private staging activation baseline.
kitamura-tetsuo
left a comment
There was a problem hiding this comment.
dot adversarial review
Target head: c8b3344.
Issue contract: #24 updated 2026-11-12T14:41:16Z; #24/REQ-001–REQ-007, including the explicit A-only acceptance change. Repository AGENTS.md was not found, and the complete nontruncated head tree contains no AGENTS.md.
Inspected the complete 13-file manifest and changed test manifest before evaluating the patch: mode-specific evidence schema/validator, offline CLI, both templates, unit/CLI regressions, CI/package wiring and all changed compatibility/release/notification documents. The supported observation entry is probe:autonomous → main → collect/evaluate → evaluateAutonomousEvidence → local receipt-integrity checking; it intentionally does not itself establish external receipt authenticity or perform a live host run.
REQ-001 has a bounded reproducible setup/consent schema and runbook but no actual selected setup record. REQ-002/003 have A-only B→A event/run/read/reply joins and ordered immutable identity checks, with manual/polling/scripted A triggers rejected; actual joined host evidence is absent. REQ-004 has cancellation and retained-state restart checks but no actual boundary exercise. REQ-005 has isolation/disclosure procedures and deterministic guards, not live third-guest/disclosure results. REQ-006 honestly separates layers, mode and not-run state. REQ-007 supplies executable collection/evaluation and deterministic regressions, but its required real positive/boundary deliverable is missing, recorded in one native inline finding. This is not a claim that runtime event delivery is broken, and no stronger bidirectional requirement is imposed.
No additional demonstrated production-code violation is asserted from speculative schema concerns. Static review only: no live host execution, credentials, deployment, service restart, CI rerun or full test execution was performed. CI or provider feature descriptions are not substitutes for the missing actual acceptance. This COMMENT review is not merge approval or full-contract acceptance.
Immediately before publication, re-read open/unmerged state and unchanged head, current Issue Requirements, all existing reviews and native threads; no existing review or thread covers this head/root cause.
| "schemaVersion": 1, | ||
| "acceptanceMode": "a-only", | ||
| "pilotId": "chatgpt_claude_selected", | ||
| "evidenceKind": "not-run", |
There was a problem hiding this comment.
[P1] Supply the required actual A-only pilot evidence before completing #24
Requirement #24/REQ-007: “Add an executable test/probe procedure that gathers safe server and host observations and validates their same-run/event/transcript association, retain deterministic server regressions separately from the real-host pilot, and require the positive B-to-idle-A event/read/reply turn plus the scoped cancellation/restart/isolation evidence before reporting this gate complete; unavailable accounts, missing A run observability or unsupported required A event execution remain explicit blockers rather than fabricated results or silently weakened requirements.”
Classification: missing explicitly required acceptance deliverable, not a demonstrated hosted-runtime defect. At head c8b3344 the selected record is still not-run, with null deployment/account/subscription fields and no turns, cancellation, restart or isolation observations. The runbook also expressly records NOT RUN. The CLI is an offline collector/evaluator; neither it nor the synthetic positive validator fixture actually exercises B's post → committed outbox event → idle ChatGPT A's host-run → authenticated read → committed reply.
Given the checked-in selected record and passing deterministic fixtures, when this PR is assessed as delivering #24, the specification requires an actual positive A-only run and the scoped boundary evidence, but the current deliverables provide only the procedure and invented validator inputs. The tests can pass because realHostShapedFixture() deliberately changes synthetic metadata to exercise the positive branch without contacting either host. This must not be mistaken for proof that the required production-origin path works. The honest not-run label is correct; do not replace it with invented observations or weaken the gate.
Complete the existing runbook through independently approved concrete staging/account connections, retain the real B post/event/A idle-to-new-run/read/reply receipts and exact mutation-key retry, cancellation, retained-storage restart with a fresh B→A turn, isolation and synthetic-disclosure observations; then populate a redacted real record and run probe:autonomous collect/evaluate with its retained receipts. Have an independent reviewer inspect their origin and associations, not merely hashes. Preserve failure/not-run records, and retain negative regressions for a manually woken A, absent host-run/read receipts and reset/replaced restart state. B's event subscription or autonomous reply is not required; do not add it. If approval or A-host observability is unavailable, keep this draft/gate incomplete and identify that exact prerequisite.
There was a problem hiding this comment.
Acknowledged. This thread remains unresolved and the selected record stays not-run; CI fixtures are not real-host acceptance evidence.
Preparation resumed after the owner confirmed both selected connections and approved the bounded synthetic trial (2026-11-13 JST). The selected ChatGPT Agent Table Test2 connection completed reauthentication and reached the application's authorized table lookup; the expired historical table correctly returned TABLE_NOT_FOUND. Cloudflare metadata separately shows the new ChatGPT OAuth grant and the existing Claude grant. This is only connection/setup evidence, not an idle host run or even a successful new-table exchange.
Current authoritative staging readback is still manual/paused at build 3dd1ea8f0d2d670400b51c5325ea5e25374a3b3d, version f0701beb-db3a-4c6a-b224-7e988d438bc4, with new tables and all notification flags disabled. I am preparing a concrete protected tools-only setup candidate on merged PR #64 main f4f9fa8fbfe57be60ca7b1e8fb2bebbde7c5a99a; fresh exact-main workflow_dispatch Validation is https://github.com/kitamura-tetsuo/agent-table/actions/runs/43315953423. The account/table/callback-bound private activation is a later explicit deployment step.
The remaining real trace still includes the host-origin causal observation and scoped retry/cancellation/restart/isolation receipts. Audit also confirmed that the existing staging SQLite diagnostic only covers OAuth/table metadata and cannot be misrepresented as a complete per-dispatch attempt ledger. That observation path must be established before reporting these boundaries as passed. No unsupported B wake-up requirement has been added.
There was a problem hiding this comment.
Progress only; this P1 remains unresolved. Supporting PR #65 merged at main f6095e9 after all 28 CI steps passed and native review found no actionable issue. This PR now incorporates that main at 780bdba, with the CI conflict resolved and the runbook aligned to authenticated own-connection inspection, no-outbound callback discovery and explicitly reviewed private observations. Its new full CI is running. Actual setup/pause and retained-table/refusal facts are recorded, but no A event-triggered run exists yet; not-run evidence is unchanged. The next exact manual runtime update is being prepared for its required owner decision before attempting host discovery/activation.
Concrete tools-only staging setup awaiting owner approval — 2026-11-13 JSTThe owner has confirmed both selected host connections and authorized the bounded synthetic exercise. A is the previously selected Agent Table Test2 connection; B is Claude Chat. Connection consent is not being requested again. Current staging is still manual/paused and cannot create the synthetic pilot tables. The following exact setup and reversal have now been prepared and verified on the authorized operator device. No deployment or protected Environment-secret update has occurred. Exact scope for review
Material scope: new-table admission applies to all existing valid staging guests/application connections under existing authorization and quotas. It is not scoped to A/B and has no automatic expiry. The owner must approve that concrete setup and its prompt return to paused creation. The paused reversal itself follows the protected deployment path. New-guest intake, outbound notifications, global subscriptions and OpenAI Events stay disabled. Existing current DO/KV storage, origins, secret names and public-exposure settings are preserved; no restore is proposed. Production is unchanged. Completed verification
Private exact configuration/resource files are retained on the operator device. Public-safe review-receipt SHA-256: Why approval is still requiredThe release runbook and authenticated release gate require a genuine target/config-bound operator decision and a separate actual GitHub After this exact setup is approved, its private inputs can be registered and the protected deployment queued for the required GitHub review. Real synthetic memberships then establish the exact private Events policy inputs. This setup does not enable Events or satisfy the actual A-only host gate. The P1 real-host-evidence review remains unresolved. A's idle-event/run/read/reply, cancellation/restart/isolation observations and sufficient origin-backed server attempt capture are still required before this draft can be merged. The browser extension currently reports no originating browser context for this conversation, so actual host UI observation will also require the connected browser surface; no substitute host run has been manufactured. |
Exact tools-only setup and paused-reversal owner decision received — 2026-11-13 07:11 JSTThe owner explicitly replied in the task conversation: 「stagingのテーブル作成準備と準備後の作成停止を承認」. Receipt was observed at 2026-11-12T22:11:31Z. This adopts the concrete review packet:
The current main and successful exact-main workflow_dispatch Validation #43315953423 were freshly rechecked. I am finalizing the real owner-decision records and preparing the protected staging workflow. This conversation approval is not a claim that GitHub's per-run Environment approval has already occurred. No staging deployment or real-host autonomous result is reported by this comment. |
Approved inputs registered; protected staging run awaits GitHub owner review — 2026-11-13 07:16 JSTThe five reviewed JSON inputs were uploaded to the staging Environment using exact file bytes after rechecking their SHA-256 digests and the actual owner decision. No provider credential was replaced. The setup config remains Protected deployment: https://github.com/kitamura-tetsuo/agent-table/actions/runs/43318182855
The owner's setup/reversal decision is recorded; the remaining boundary is the actual GitHub per-run Environment review. Open the run, choose Review deployments, select staging, and Approve and deploy. The workflow will then independently verify approval, CI, live provider identity and the exact candidate before publishing. Keep the five setup inputs unchanged while this run is waiting/running. After setup completes and the necessary synthetic tables are prepared, the already owner-approved paused reversal will use a separate protected run; it must not overwrite this job's inputs prematurely. No deployment success or actual A event-triggered run is claimed yet. |
Setup deployment succeeded; actual A tool setup complete; approved pause awaits GitHub review — 2026-11-13 07:29 JSTProtected setup run #43318182855 succeeded, including provider authorization, exact configuration publication and deployed-state verification. GitHub independently reports the actual A separate authenticated operator-device readback at
Actual selected ChatGPT host setup: A's These are manually initiated actual A tool calls, not an event-triggered host run. B has not joined these new tables, no peer messages have been posted, and no subscription has been created. Get-table readback reports delivery disabled, pending count 0. Prompt return to paused creation: the already approved reversal inputs were registered only after setup completed. Protected pause run #43320201661 was dispatched once on exact main; at 22:29:03.553Z it was waiting, attempt 1, with exactly the owner The P1 remains unresolved. The remaining implementation/observation gaps are explicit: obtaining the exact authenticated A connection binding; obtaining a genuine provider callback scope before allowlist activation (current policy/discovery has no callback-bootstrap operation); and a complete bounded origin-backed attempt ledger for the cancellation/restart requirements. These cannot be filled from connector labels, invented callback targets or aggregate telemetry. The real B→idle A→event/run/read/reply trace is still not run. |
|
The approved creation pause is now verified end to end. Protected staging run 43320201661 succeeded (all 15 steps), and independent current-settings + active-version readback confirms all five admission/notification switches are false, with production unchanged. Actual ChatGPT Agent Table Test2 calls then read both retained setup tables and received Supporting PR #65 now adds authenticated self-connection inspection, a no-outbound callback discovery mode, and bounded private sender observations with conservative SQL comparison. Its full CI/review is pending. This supplies missing preparation/measurement paths; it does not activate them or establish an event-triggered ChatGPT run. The real-host acceptance remains |
Exact paused manual runtime update — owner decision requestedThe preparatory source work is complete. PR #65 and its test-fixture follow-up #66 are merged; draft PR #63 is synchronized with current main and retains its unresolved actual-host P1 gate.
All five switches remain false: Completed verification
The existing setup and pause are complete: setup #43318182855, pause #43320201661, and independent pause/readback/tool receipts. Existing A table reads succeeded and a distinct creation check returned Scope of the requested decisionApprove this exact staging/manual build and configuration update, retaining the paused switches and resources. Existing A/B selection, A-only acceptance, bounded synthetic-trial consent and previously accepted retention/billing limitations are retained; their historical disclosure timestamps remain accurate. The reviewed disclosure timestamp is 2026-11-13 07:11:31 JST; actual billed amount remains unknown as previously accepted. The release runbook and After the actual decision, the approved immutable inputs can be installed in the protected staging Environment and its new deployment workflow dispatched. The workflow still requires its actual, run-specific owner Environment review and authenticated provider/post-deploy verification. No new deployment or Environment-secret upload has occurred during preparation. PR #63 remains draft, with its real A event → new run → authenticated read → reply evidence and the required bounded boundary scenarios outstanding. Issue #24 remains open. |
Why this change is needed
Issue #24 now requires A-only autonomous response, following the owner's explicit 2026-11-12 acceptance change: B = Claude Chat may be manually prompted to post; idle A = OpenAI ChatGPT must receive the corresponding event, start a new run, authenticate, read and commit a reply. B's event subscription and automatic wake-up are not required. Existing OAuth and controlled-receiver tests do not prove that real host causal path.
What this PR adds
acceptanceMode:a-onlyfor this selected pair, or separately labeledbidirectional. A-only requires the B → idle A → authenticated read/reply path both initially and after a retained-state restart.not-run; no account eligibility, owner consent or live host result is fabricated. B still needs actual independently authorized host/tool/post evidence, but no event subscription or run-observation capability.probe:autonomousCLI for initialization, disjoint capture collection and receipt-digest checking.init --mode a-onlyselects the scope; evaluate/collect cannot override a captured mode. Reports state the exact target and required autonomous responders.Runtime prerequisites
Supporting PR #64 and PR #65 are merged. The current implementation baseline is main
e04cd3bed158aa1bf400cb5b3bf9b927ecff21cb, including the deterministic expiry-fixture correction from merged PR #66. It includes the finite private activation policy, authenticatedget_connection, no-outbound callback discovery, explicitly reviewed private observations, and conservative sender/SQL comparison. These capabilities remain subject to their concrete protected staging approvals; merging their source does not activate them.This branch is synchronized with that main. The CI insertion conflict was resolved by preserving both private-observation and autonomous-evidence lint steps. The runbook now uses the implemented preparation/capture paths while preserving
not-runhost evidence and the unresolved actual-host acceptance gate.Validation
git diff --checkpassed.f30ceeaa4a1edcd8bc7b4bcdeeb653c2c8187251, with exact tree4570d6d51916feb84b68f100d7867e271044ef17.Live acceptance remains outstanding; staging creation is paused
Refs #24. This PR remains a draft until the revised actual-host acceptance record exists.
The owner confirmed both selected connections, approved the bounded synthetic trial, and explicitly approved the exact table-setup configuration and its paused reversal.
Protected setup run #43318182855 succeeded on main
f4f9fa8fbfe57be60ca7b1e8fb2bebbde7c5a99a. Separate authenticated provider readback verified the exact config, preserved isolated resources and the deployed staging/manual build.A's actual Agent Table Test2 tool created and read back two synthetic tables: primary initial/restart and cancellation/terminal-control. Their expiry is 2026-11-14 07:25 JST. These manually initiated setup calls prove neither event receipt nor autonomous execution. B has not joined these new tables; no peer post or subscription exists.
The approved pause run #43320201661 succeeded after actual owner Environment approval. Independent current-settings and active-version readback confirmed the exact paused configuration and preserved resources, with production unchanged. Actual A tools then read both existing tables and received
ADMISSION_DISABLEDfor one distinct bounded new-creation check. The update and receipt digests are retained here.Staging still runs the paused f4 manual build; the new runtime has not been deployed. The exact-main workflow-dispatch Validation #43328724973 failed in a timing-dependent expiry test fixture before the rejection assertion: setting only
expires_atcould violateexpires_at > created_at. PR #66 backdates both fixture timestamps without changing runtime code, constraints or assertions. PR #66 passed all 28 CI steps and was merged after fresh review/thread checks. The pending all-five-false manual update is bound to corrected maine04cd3bed158aa1bf400cb5b3bf9b927ecff21cb; its fresh exact-main workflow-dispatch Validation #43331222774 passed all 28 steps. The main push Validation also passed all 28 steps. Structural preflight, dry-run and authenticated CI/provider checks are complete. The concrete manual update packet has configuration SHA-25628825cd33dfe1ca9e8d78365bb8e024080fe2caeac264188f071bfac830c7c12, all five switches false, and a genuinely pending owner decision. Its exact operator approval is separate from the completed f4 setup/pause approval.Remaining live steps:
get_connectionto establish its exact authenticated binding.No actual autonomous host compatibility result is claimed. B's event subscription or automatic wake-up is not required. A no-restore restart of current authoritative state remains distinct from #51 historical restore reconciliation.