Retain independent task plan and canonical digest technical reviews
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
This commit is contained in:
tegwick 2026-10-11 19:35:51 +02:00
parent 24c1f56f00
commit 077eb0a63c
5 changed files with 170 additions and 0 deletions

View file

@ -51,6 +51,7 @@
| task | FLEX-WP-ADHOC-2026-10-11-T01 | done | — | workplans/ADHOC-2026-10-11.md |
| task | FLEX-WP-ADHOC-2026-10-11-T02 | done | — | workplans/ADHOC-2026-10-11.md |
| task | FLEX-WP-ADHOC-2026-10-11-T03 | done | — | workplans/ADHOC-2026-10-11.md |
| task | FLEX-WP-ADHOC-2026-10-11-T04 | done | — | workplans/ADHOC-2026-10-11.md |
| task | FLEX-WP-0001-T001 | done | — | workplans/FLEX-WP-0001-repo-intent-and-architecture-baseline.md |
| task | FLEX-WP-0001-T002 | done | — | workplans/FLEX-WP-0001-repo-intent-and-architecture-baseline.md |
| task | FLEX-WP-0001-T003 | done | — | workplans/FLEX-WP-0001-repo-intent-and-architecture-baseline.md |

View file

@ -0,0 +1,18 @@
{
"native_execution": false,
"synthetic_only": true,
"source_manifest_sha256": "c15b3704d59a3441f2ce203f1b866b62d83a49f553b50afbaa9c6fcc06105876",
"original_counterexample_digest": "sha256:09bef6f94ad1caf77b9cb39139c59a337b954608da4e205831962cce23050568",
"repaired_request_digest": "sha256:dcaff2c7d48e04a78ca49f2b0e7c19da3d01868bf432a9ac56170511ae125465",
"actual_go_request_digest": "sha256:dcaff2c7d48e04a78ca49f2b0e7c19da3d01868bf432a9ac56170511ae125465",
"repaired_approval_binding_digest": "sha256:dcaff2c7d48e04a78ca49f2b0e7c19da3d01868bf432a9ac56170511ae125465",
"actual_go_approval_binding_digest": "sha256:dcaff2c7d48e04a78ca49f2b0e7c19da3d01868bf432a9ac56170511ae125465",
"digests_match": true,
"independent_focused_passed": 149,
"independent_additional_passed": 21,
"additional_binary64_samples": 384,
"full_suite_green_claimed": false,
"numeric_profile": "finite binary64 floats; Python integer magnitude <= 2^53-1; all larger integers/nonfinite refused",
"go_algorithm_changed": false,
"policy_constant_flipped": false
}

View file

@ -0,0 +1,16 @@
{
"schema": "source-integration-counterexample/v1",
"native_execution": false,
"target_manifest_sha256": "41cda74ab32384c789ea8a760475671aadad4e5121335c8f60567ff53d66665b",
"case": "actual consumer permits purpose café<&>; full canonical request hash differs from Go HTML escaping",
"synthetic_only": true,
"actual_compiler_and_consumer_parser_accepted": true,
"python_request_digest": "sha256:09bef6f94ad1caf77b9cb39139c59a337b954608da4e205831962cce23050568",
"go_request_digest": "sha256:dcaff2c7d48e04a78ca49f2b0e7c19da3d01868bf432a9ac56170511ae125465",
"policy_effect": "deny",
"policy_reason": "initiating_provider_unadmitted",
"request_contains_tokens": false,
"fixture_sha256": "3ba1337dc913076286b6c018b2f60026d906699aa3fe6d4d50d712a64ac27c2e",
"go_result_sha256": "dc652292bfbb56528aa5c9b47057d64473b62951680f1a532f7ffdd662d5002d",
"scope_note": "Compiler catalogue fingerprint matches actual Secrets local target helper. Full request digest mismatch is separate Python/Go canonical join integration blocker, not compiler authority bypass."
}

View file

@ -0,0 +1,70 @@
# Independent technical review: Platform typed plan compiler
Reviewer: Access source integration agent access_task_execution_policy.
Scope: technical component interoperability only; no Platform owner approval.
Candidate manifest /tmp/platform-typed-plan-stage-v2/manifest.json SHA256
41cda74ab32384c789ea8a760475671aadad4e5121335c8f60567ff53d66665b.
Verified all four candidate file hashes. Code SHA256
0a96c39a71c6fcca5ea695d1a46ce20d7345b27a507851d4d46e1543fd97e656;
maker tests SHA256 432f2a316a94b586286426906504cae9368e74cc6ba7a32d788c37924cad8224.
Result: source component correspondence established within the stated boundary;
whole execution readiness refused. Independently reproduced 40 maker checks and
10 additional checks. Tests use synthetic approved copies of public owner data,
not an approved actual CCR or matching native catalogue. No policy source constant
was flipped, no credential/native call or owner checkout write occurred.
The actual thirteen-field Secrets build_action_request catalog_target equals
Compiler.proposal's owner-derived projection and local catalogue fingerprint.
Actual ExecutionContract.parse accepts the six generated GET/PUT/GET ACL then
GET/PUT/GET auth-role method/path/payload hashes. Compiler.before_call returns
bytes whose hashes equal those descriptor entries; GET bodies hash empty bytes.
Normal fixture's actual Python full/approval-free request digest matches Go.
Actual Go/OPA evaluates the unchanged closed source package as deny,
initiating_provider_unadmitted. This is not a runtime allow test.
Independent forged Plan schema/operation/source_pins/catalog_target/budget/cleanup
metadata all refused on before_call. After an observed pinned owner auth TTL
change and re-pinning, an old Plan refused before role call. Supplied root/body,
wrong operation, replay-readiness, alternate fields/path and local observed source
indirection/drift counterexamples likewise refuse in the independently rerun maker
suite. Source trust/runtime custody and mutation of Python memory remain external
requirements explicitly stated by the maker; the compiler is not a sandbox.
## Concrete additional integration counterexample
A valid catalogue consumer purpose café<&> is accepted by the actual catalogue
validator, compiler, typed descriptor and request builder. Its local target hash
matches Secrets. But the actual Python canonical request digest differs from Go
RequestDigest: Go JSON Marshal escapes HTML characters, Python compact UTF8 JSON
does not. Exact evidence is recorded in
../evidence/2026-10-11-task-execution/compiler-canonical-counterexample.json.
This is a Python/Go canonical join blocker, not permission escalation. The current
hard provider refusal still denies both. Baseline ASCII fixture matches; a broad
claim of arbitrary metadata canonical interoperability is not established.
Keep the counterexample and fix/test canonical consumer serialization before any
real request/approval/PDP consume adoption. Do not conflate descriptor-local
catalogue hashing (intentionally separate) with the PDP canonical request hash.
## Boundaries still required
Compiler request_digest is an opaque prefixed hash, not authenticated authority.
Full descriptor construction must additionally bind owner grant/baseline/readback,
estate/origin/deadline/source bundle and verified initiating representation. It
must not fabricate task_execution_projection or member/MFA/verified flags. Current
Access source admission remains literally false; authenticated KeyCape origin,
User/Tenant facts and server projection are absent. Source compiler cannot supply
them. Native CCR42 is still in-flight/unadmitted and no live matching catalogue
was demonstrated.
The future owner mediator must enforce the real full canonical request/claim/PDP
and trusted consume joins, owner-private journal phase/order/budget and durable
pending intent, unchanged exact source/body bytes immediately at dispatch, actual
native token TTL/use/endpoint scope and custody, baseline conflict/readback and
revoke/cleanup/unknown recovery. before_call rederives bytes but has no dispatcher,
clock deadline, phase authority, transaction or native CAS. Component source tests
cannot close Secrets T06 or RPF35-T02/T12, or certify authenticated native access.
This review uses the existing completed Access T04 source-contract scope and does
not sign as Platform's owner or accept another owner/provider boundary. No new
operational workplan is created.

View file

@ -0,0 +1,65 @@
# Independent technical review: Secrets Go canonical digest repair
Reviewer: Access source integration agent access_task_execution_policy.
Disposition: exact bounded consumer source repair technically accepted;
no Secrets owner assent, package activation or native execution admission.
Manifest /tmp/secrets-canonical-go-stage/manifest.json SHA256
c15b3704d59a3441f2ce203f1b866b62d83a49f553b50afbaa9c6fcc06105876.
Verified all six candidate hashes. authorization.py staged SHA256
d58e5fd01ca2470a5d11a6b4f7e9d262a0c1565637e07b35466faa30e4991d14.
## Independent source evidence
In an isolated full public source copy overlaid with exact candidate files,
149 focused tests passed: real Go oracle, immutable execution descriptor and four
builder preservation, action authorization, claim/consume joins and normal replay.
21 additional independent tests passed, including 384 separately seeded binary64
bit samples, nextafter neighbors at fixed/scientific formatting boundaries,
HTML/Unicode/control/separator characters in nested keys/arrays, negative zero,
unsupported numeric refusals and semantic mutation/approval-free joins.
The original actual typed compiler counterexample (catalogue consumer purpose
café<&>) is repaired. Its original Python digest
sha256:09bef6f94ad1caf77b9cb39139c59a337b954608da4e205831962cce23050568
now becomes exactly the actual unchanged Go result
sha256:dcaff2c7d48e04a78ca49f2b0e7c19da3d01868bf432a9ac56170511ae125465.
Both full and approval-free digests match. Safe summarized evidence is in
../evidence/2026-10-11-task-execution/canonical-independent-verification.json.
No human-policy source constant was flipped and no native provider was contacted.
## Numeric contract and algorithm boundaries
The admitted numeric profile is explicitly finite binary64 floats and Python
integers in [-(2^53-1),2^53-1]. Larger integers refuse rather than hash an exact
Python integer while Go's HTTP decoder rounds it. NaN and infinities refuse.
Shortest binary64 formatting, Go exponent/fixed thresholds and signed zero are
exercised against the actual exported Go API after actual JSON decoding. This
is not a claim that arbitrary Go-native json.Number/big integers, Decimal objects,
invalid scalar Unicode or other non-JSON values are supported.
Only the consumer full Access request and Access approval-free request digest
serialization changes. Descriptor-local UTF8 catalogue target fingerprints,
Approval's distinct claim digest and owner body hashes remain separate; no Go
canonical algorithm, served claim, immutable original decision or policy changes.
Existing approvals must not be rewritten: an old mismatching request needs a
fresh properly bound request/approval. Advisory purpose hashing parity does not
make an enforcement API accept an otherwise rejected top-level purpose.
Very large integer timestamps, including proposed epoch-nanosecond projection
fields, are outside this profile. Future provider projection must select a faithful
cross-runtime representation instead of silently rounding those fields. The prior
human projection is unadmitted and its source package remains closed; this review
provides no admission for that shape.
## Validation limits
This review does not claim the full repository suite is green. The frozen maker
receipt retains full-suite custody failures under uid65534 in /tmp and one unchanged
baseline reproduction. Only one of the 16 full-suite failures was reproduced against unchanged
baseline. The other 15 were not independently classified as baseline failures.
The coordinator corrected an earlier broader statement; no broader baseline
reproduction is claimed. The focused
candidate suite and independent counterexamples passed; private file custody
behavior is not weakened to satisfy the test environment. No deployment, credential
request, native proof, default migration, ownership acceptance or operational task
closure follows from this serializer repair.