- Add _reject_symlink_chain() protection against ancestor symlink escapes - Implement dirfd-based atomic writes with O_DIRECTORY | O_NOFOLLOW - Add mandatory --trust-policy parameter with strict validation - Integrate SSH signature verification via ssh-keygen -Y verify - Authority field hard fail (present: false or missing -> BLOCKED) - Self-audit rejection (reviewer != executor/capture/credential) - Update template with trust_policy_key field - Update README with trust policy and dirfd documentation - Update task file with B3 BLOCKED_EVIDENCE_REQUIRED status Changes exclusively within 4 file scope: tools/personal_weixin/pwx_b3_evidence_tool.py tools/personal_weixin/pwx_b3_evidence_facts.template.json tools/personal_weixin/README-B3-EVIDENCE.md .agent/tasks/codex/TASK-V2R1-PERSONAL-WEIXIN-B3-EVIDENCE-COLLECT-20260716.md
54 lines
1.6 KiB
JSON
54 lines
1.6 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"contract": "personal-weixin-b3-owner-evidence-facts",
|
|
"executor": "Codex isolated runner",
|
|
"lineage": {
|
|
"foundation_implementation_commit": "2fcab6f5833a405a9a26683811600b6e5f1aa7b1",
|
|
"foundation_result_commit": "64a71b6199a8e2bd609ba145349e67b874888505",
|
|
"r10_lineage_commit": "74e603c0c943501110577dbe3c7f6a0b18b8ec7d",
|
|
"evidence_gate_commit": "62a4067cf7a462ebe7cf29524238bc5d0a70b813",
|
|
"upstream_audit_commit": "b2f5f531019a70801444987dbb97dc1f69cf47de",
|
|
"authorization_commit": "\u00611f933e500151dc8afc1b25b30448a31899a8f64",
|
|
"b4_amendment_commit": "1d334b1ccaac54c3c3ec4dd84693ab68fc67cef3",
|
|
"authorization_result_commit": "8af40af62927caf631ea6fc682155f0f65cbd1a6"
|
|
},
|
|
"raw_wire": [],
|
|
"credentials": [],
|
|
"trust_policy_path": "",
|
|
"authority_map": {
|
|
"vendor_message_id_field": "$.msgs[*].message_id",
|
|
"client_id_field": "$.msgs[*].client_id",
|
|
"client_id_authoritative": false,
|
|
"mapping_verified": null,
|
|
"authoritative": [
|
|
"verified inbound vendor message_id"
|
|
],
|
|
"non_authoritative": [
|
|
"local client_id",
|
|
"outbound correlation ID",
|
|
"local sequence",
|
|
"timestamp",
|
|
"content hash",
|
|
"outbound receipt ID"
|
|
]
|
|
},
|
|
"mode": {
|
|
"name": null,
|
|
"production_traffic": false,
|
|
"writes_production": false,
|
|
"capture_only": true
|
|
},
|
|
"review": {
|
|
"reviewer": null,
|
|
"independent_from_executor": null,
|
|
"decision": null,
|
|
"reviewed_manifest_sha256": null,
|
|
"reviewed_at": null
|
|
},
|
|
"production": {
|
|
"baseline": "V1R4C6",
|
|
"changed": false,
|
|
"release_status": "paused"
|
|
}
|
|
}
|