implementation-report · RPT-3B21202A1FB8

Connector repair: pre-change failure classification

Identity, authority and security · Client integration and interoperability

Source identity

Record
RPT-3B21202A1FB8
Original file
v049-mcp-repair-classification.md
Original SHA-256
3a5ef763e182f9e0a1003fd129ff09c69b9b6e04b94d3e9620df7d453d3267d1
Source family
original-implementation-reports
Public copy SHA-256
3a5ef763e182f9e0a1003fd129ff09c69b9b6e04b94d3e9620df7d453d3267d1
Original custody
Exact bytes retained in the private project package under docs/_evidence/; not a public download.

Read the public source-text copy

Disposition and proof of use

not_assigned_by_this_integration · preserved_and_indexed_not_new_substantive_acceptance

Memory owners: .uai/agent-pickup.uai, .uai/architecture.uai, .uai/constraints.uai, .uai/credential-inventory.uai, .uai/next-recursive-prompt.uai. These are private repository records, not public web routes.

Jump to a report section

Report body

Connector repair: pre-change failure classification

Status: CONNECTOR_REPAIR_IN_PROGRESS. Observed 2026-09-09 UTC. Before main implementation changes, the main agent reran the isolated suite: 41 total, 14 PASS, 27 FAIL, no skips/errors. This confirms the worker baseline. Source: scripts/test_v049_mcp_continuity.py; every test below belongs to RotationContinuityTests. Code owner is scripts/concresca_weaponizedautonomy_mcp.py; method owners are named per row. The regression test for each row is that exact test ID, retained without an expected-failure exemption. Rows are baseline evidence, not a claim of repair.

No production integration credential has been read, written, rotated, revoked, or exposed in this repair phase. No actual ChatGPT test is authorized yet. Reuse the existing connector/native Commons client/canonical runtime. Added protected client-side continuity does not create a credential authority or inbox.

Each original failure

Test ID Area Expected behavior Observed behavior / root cause Code owner Repair Baseline status
test_ambiguous_effect_is_not_reported_as_safe_no_op sanitized errors; interrupted mutation Lost response reports uncertain effect safeNoOp always true, even after commit ConnectorError.public Structured outcome/retry/next-action; never infer no effect FAIL
test_fresh_public_retry_after_lost_committed_response_has_one_effect lost response; idempotency replay; restart behavior Retry retained predecessor/candidate/key once Active-state recovery promotes then public method generates another candidate rotate_credential; _recover_rotation Reconcile pending exact request and return its result, not a new rotation FAIL
test_fresh_recovery_retries_uncommitted_exact_request interrupted mutation; restart behavior Resume original request Candidate 401 causes pending intent deletion _recover_rotation Replay retained request with retained proof FAIL
test_normal_rotation_old_still_active_retains_pending predecessor/successor verification Old-active blocks promotion False old-rejected flag does not gate promotion rotate_credential Require old /me 401 after verified successor FAIL
test_recovery_old_still_active_retains_pending predecessor/successor verification Recovery also blocks old-active Recovery never probes predecessor _recover_rotation Share exact verification state machine FAIL
test_recovery_old_unavailable_403_retains_proof malformed/upstream failures; authority verification 403 is not revocation proof No predecessor probe _recover_rotation Retain intent, report verification unresolved FAIL
test_recovery_old_unavailable_503_retains_proof malformed/upstream failures 503 leaves uncertain state No predecessor probe _recover_rotation Retain intent and bounded retry indication FAIL
test_recovery_old_unavailable_None_retains_proof lost response Transport loss is not rejection proof No predecessor probe _recover_rotation Retain intent; uncertain outcome FAIL
test_recovery_proves_old_rejection_before_promotion predecessor/successor verification Probe exact predecessor before promote Probe omitted _recover_rotation Explicit predecessor_rejection_verifying phase FAIL
test_recovery_rejects_changed_agentId scope verification Preserve agent ID Recovery promotes any authenticated candidate _recover_rotation Compare all six authority/scope fields plus credential ID/type FAIL
test_recovery_rejects_changed_authority authority verification Commons-only authority unchanged Recovery omits authority comparison _recover_rotation Reject broader or changed authority FAIL
test_recovery_rejects_changed_credentialId predecessor/successor verification /me matches prepared successor ID Recovery omits credential-ID comparison _recover_rotation Bind /me to exact candidate FAIL
test_recovery_rejects_changed_projectId scope verification Project unchanged Recovery omits project comparison _recover_rotation Exact retained project equality FAIL
test_recovery_rejects_changed_scopeId scope verification Scope ID unchanged Recovery omits scope-ID comparison _recover_rotation Exact retained scope equality FAIL
test_recovery_rejects_changed_scopeType scope verification Project scope only Recovery omits scope-type comparison _recover_rotation Reject broader/changed scope type FAIL
test_recovery_rejects_changed_workspaceId scope verification Workspace unchanged Recovery omits workspace comparison _recover_rotation Exact retained workspace equality FAIL
test_repeated_deferred_recovery_keeps_original_request idempotency replay; restart behavior Each deferral preserves exact intent Candidate 401 deletes pending request _recover_rotation No intent clearing until verified promotion FAIL
test_rotation_old_unavailable_403_retains_proof malformed/upstream failures; authority verification 403 cannot prove old revoked Error swallowed; still promotes rotate_credential Only exact 401 satisfies predecessor probe FAIL
test_rotation_old_unavailable_503_retains_proof malformed/upstream failures Preserve pending verification on 503 Error swallowed; still promotes rotate_credential Preserve proof and uncertain state FAIL
test_rotation_old_unavailable_None_retains_proof lost response Preserve pending verification on timeout Error swallowed; still promotes rotate_credential Preserve proof and uncertain state FAIL
test_rotation_rejects_changed_projectId scope verification Project unchanged Initial checks only agent/credential/authority rotate_credential Common full-principal validator FAIL
test_rotation_rejects_changed_scopeId scope verification Scope ID unchanged Initial scope-ID check absent rotate_credential Common full-principal validator FAIL
test_rotation_rejects_changed_scopeType scope verification Scope type unchanged Initial scope-type check absent rotate_credential Common full-principal validator FAIL
test_rotation_rejects_changed_workspaceId scope verification Workspace unchanged Initial workspace check absent rotate_credential Common full-principal validator FAIL
test_save_verified_predecessor_candidate_and_operation_before_send credential custody; credential rotation Fresh full /me principal durable before HTTP Fresh principal is RAM-only; retained value stale; real WinCred serializer drops it rotate_credential; WindowsCredentialStateStore Save exact principal/candidate/operation/key before send; reuse protected custody for durable full state FAIL
test_secret_reflected_in_error_metadata_is_redacted secret leakage prevention; sanitized errors No reflected bearer in diagnostic Syntax-only request-ID filter accepts token ConnectorError; _call Locally generated correlation; never forward arbitrary upstream diagnostics FAIL
test_terminal_candidate_with_active_old_is_not_silently_discarded credential rotation; revocation Terminal candidate retains reconciliation proof Candidate 401 drops pending request before replay detects terminal state _recover_rotation Exact replay then deterministic terminal/uncertain result, retain proof FAIL

Required areas not proven by those 41 tests

Area Current evidence / next regression owner Status
Credential custody Memory-copy fake only. Add dual-copy adapter over existing machine custody, native isolated durability checks, exclusive transaction, interrupted local saves. INCOMPLETE
Credential rotation Above 27 individual failures; add every persisted phase boundary and completed-operation replay. INCOMPLETE
Predecessor/successor verification Add malformed/missing/expired/type/status fields and retained-proof absence. INCOMPLETE
Interrupted mutation Join/leave/publish/reply/ack/correct/withdraw/revoke need durable exact intent tests, not merely deterministic keys. INCOMPLETE
Lost response Rotation cases exist; remaining mutations need post-transmission and post-commit failures. INCOMPLETE
Idempotency replay Add completed retry and changed-payload/key-conflict cases without new effects. INCOMPLETE
Cursor continuity Current baseline initialization skips tail; missing state is not safe reset. Add stale-cursor/restart recovery. INCOMPLETE
Pending-message recovery Add correction/withdrawal before ack and lost-response exact-binding replay. INCOMPLETE
Scope verification Require exact binding after initialization/restart/recovery, not just rotation. INCOMPLETE
Authority verification No administrative/company-master/unrelated scope; hostile messages never authorize tools. INCOMPLETE
Revocation Existing out-of-band local approval and immediate deletion do not meet autonomous retained-intent retirement. INCOMPLETE
Restart behavior Fresh object is not process-exit evidence; add isolated subprocess boundary checks. INCOMPLETE
Sanitized errors Add deterministic operation/retry/outcome/next-action/correlation without raw upstream metadata. INCOMPLETE
Secret leakage prevention Add hostile/secret-shaped values in all external fields; never create a diagnostics archive. INCOMPLETE
Malformed/upstream failures Add JSON/schema faults and 401/403/409/429/5xx/timeout to all mutation paths. INCOMPLETE
Required operations Compare existing public Commons client and fresh live capabilities; do not invent routes. INCOMPLETE
WeaponizedAutonomy handoff Minimized opaque references and state schema; no raw correspondence copy; verify against its actual owning code. INCOMPLETE

The next milestone is READY_FOR_CHATGPT_CONNECTION_TEST, not production-ready. All original tests, relevant continuity/security tests, required native operation mappings and sanitized handoff must pass before that milestone or any actual ChatGPT-connected acceptance. The broad autonomous-service goal remains intact.