Add nobulex behavioral evidence receipt row — Protocol_Adapter cross-validation#1865
Add nobulex behavioral evidence receipt row — Protocol_Adapter cross-validation#1865Liuyanfeng1234 wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces two new JSON specimen files, arkforge_verdict_specimen.json and nobulex_receipt_specimen.json, which define data structures for verdicts and receipts. The review feedback identifies several issues regarding consistency and protocol compliance. Specifically, enum values need to be converted to SCREAMING_SNAKE_CASE to align with ProtoJSON specifications. There are also naming inconsistencies between the files, such as the use of evidenceType (camelCase) versus snake_case fields, and differing field names for similar metadata like source and adapter_pipeline. Additionally, the reviewer noted a missing row identifier in the receipt specimen and inconsistent formatting for port references.
| "claim_subtype": "tier_upgrade", | ||
| "severity": "positive" | ||
| }, | ||
| "NEUTRAL": { | ||
| "min_score": 0.5, | ||
| "claim_subtype": "tier_upgrade", | ||
| "severity": "neutral" | ||
| }, | ||
| "WATCH": { | ||
| "min_score": 0.25, | ||
| "claim_subtype": "tier_downgrade", | ||
| "severity": "warning" | ||
| }, | ||
| "QUARANTINE": { | ||
| "min_score": 0.0, | ||
| "claim_subtype": "tier_downgrade", | ||
| "severity": "critical" |
There was a problem hiding this comment.
The enum values in this file (e.g., tier_upgrade, positive, tier_downgrade, critical) are in lowercase. According to the General Rules and ADR-001, enum values in the A2A protocol should be in SCREAMING_SNAKE_CASE (e.g., TIER_UPGRADE, POSITIVE) to comply with the ProtoJSON specification.
References
- Enum values in the A2A protocol should be in SCREAMING_SNAKE_CASE to comply with the ProtoJSON specification.
| @@ -0,0 +1,19 @@ | |||
| { | |||
| "action_ref": "urn:nobulex:receipt:specimen_001", | |||
| "action_type": "behavioral_evidence", | ||
| "claim_type": "authority", | ||
| "evidenceType": "behavioral", | ||
| "scope": "cross_validation", |
There was a problem hiding this comment.
There are two consistency issues in this block:
- Enum Casing: Values like
behavioral_evidenceandauthorityshould be inSCREAMING_SNAKE_CASEper the General Rules. - Naming Inconsistency: The field
evidenceTypeuses camelCase, while others (e.g.,action_type,claim_type) use snake_case. It should be renamed toevidence_type.
References
- Enum values in the A2A protocol should be in SCREAMING_SNAKE_CASE to comply with the ProtoJSON specification.
| "SafeAgent", | ||
| "Mycelium" | ||
| ], | ||
| "source": "Protocol_Adapter (port 8734)" |
|
@gemini-code-assist All changes accepted. We'll update both specimen files with SCREAMING_SNAKE_CASE for all enum values, rename evidenceType to evidence_type, add the missing row identifier to the receipt specimen, standardize the metadata field names across files, and recalculate the SHA256 hashes. Revision will be pushed shortly.
------------------ Original ------------------
From: ***@***.***>;
Date: Fri, May 22, 2026 00:16 AM
To: ***@***.***>;
Cc: ***@***.***>; ***@***.***>;
Subject: Re: [a2aproject/A2A] Add nobulex behavioral evidence receipt row — Protocol_Adapter cross-validation (PR #1865)
@gemini-code-assist[bot] commented on this pull request.
Code Review
This pull request introduces two new JSON specimen files, arkforge_verdict_specimen.json and nobulex_receipt_specimen.json, which define data structures for verdicts and receipts. The review feedback identifies several issues regarding consistency and protocol compliance. Specifically, enum values need to be converted to SCREAMING_SNAKE_CASE to align with ProtoJSON specifications. There are also naming inconsistencies between the files, such as the use of evidenceType (camelCase) versus snake_case fields, and differing field names for similar metadata like source and adapter_pipeline. Additionally, the reviewer noted a missing row identifier in the receipt specimen and inconsistent formatting for port references.
In cross-extension/arkforge_verdict_specimen.json:
> + "claim_subtype": "tier_upgrade", + "severity": "positive" + }, + "NEUTRAL": { + "min_score": 0.5, + "claim_subtype": "tier_upgrade", + "severity": "neutral" + }, + "WATCH": { + "min_score": 0.25, + "claim_subtype": "tier_downgrade", + "severity": "warning" + }, + "QUARANTINE": { + "min_score": 0.0, + "claim_subtype": "tier_downgrade", + "severity": "critical"
The enum values in this file (e.g., tier_upgrade, positive, tier_downgrade, critical) are in lowercase. According to the General Rules and ADR-001, enum values in the A2A protocol should be in SCREAMING_SNAKE_CASE (e.g., TIER_UPGRADE, POSITIVE) to comply with the ProtoJSON specification.
References
Enum values in the A2A protocol should be in SCREAMING_SNAKE_CASE to comply with the ProtoJSON specification.
In cross-extension/nobulex_receipt_specimen.json:
> @@ -0,0 +1,19 @@ +{ + "action_ref": "urn:nobulex:receipt:specimen_001",
This specimen is missing the "row" field present in arkforge_verdict_specimen.json. Given the PR title refers to this as a "receipt row", it should likely include a row identifier for consistency within the cross-validation matrix.
In cross-extension/nobulex_receipt_specimen.json:
> + "action_type": "behavioral_evidence", + "claim_type": "authority", + "evidenceType": "behavioral", + "scope": "cross_validation",
There are two consistency issues in this block:
Enum Casing: Values like behavioral_evidence and authority should be in SCREAMING_SNAKE_CASE per the General Rules.
Naming Inconsistency: The field evidenceType uses camelCase, while others (e.g., action_type, claim_type) use snake_case. It should be renamed to evidence_type.
References
Enum values in the A2A protocol should be in SCREAMING_SNAKE_CASE to comply with the ProtoJSON specification.
In cross-extension/nobulex_receipt_specimen.json:
> + "agent_id": "did:agent-os:test", + "action_type": "behavioral_evidence", + "claim_type": "authority", + "evidenceType": "behavioral", + "scope": "cross_validation", + "timestamp": "2026-05-20T00:00:00Z", + "sha256_hex": "cf158f7cfdec61539f00a7c9946a704f1f16a5995db6ef968705be80f5630ab7", + "canonical_method": "JCS RFC 8785, lowercase-hex, ***@***.***", + "five_system_cross_validation": [ + "CTEF \u00a73.8", + "APS", + "Nobulex", + "SafeAgent", + "Mycelium" + ], + "source": "Protocol_Adapter (port 8734)"
The metadata field for the source is named "source" here, but "adapter_pipeline" in arkforge_verdict_specimen.json. Additionally, the value format differs ("(port 8734)" vs "(8734)"). These should be standardized across specimens.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
|
Thank you for the update. These planned changes will significantly improve the consistency and protocol compliance of the specimens. Once you have pushed the revisions, please ensure that the SHA256 hashes are recalculated based on the updated canonical JSON structures, as any change in field names or casing will alter the hash. I look forward to reviewing the updated files. |
Cross-validation specimen for the nobulex behavioral evidence receipt row (urn:nobulex:receipt).
Target branch: v0.3.3-cross-extension-matrix (create if needed)
Fixture source: Protocol_Adapter (port 8734) — Agent OS internal trust event → external Nobulex receipt mapping.
Validation result: JCS-canonical SHA-256, lowercase-hex, rfc8785@0.1.4 boundary. Byte-match confirmed against Nobulex receipt shape.
Cross-validation specimen (SHA-256 derivation):
Five-system alignment confirmed: CTEF §3.8 (14/14 byte-match), APS, Nobulex, SafeAgent, Mycelium — all five independently converged on the same canonical bytes. This specimen adds the Agent OS implementation as the sixth verification point.
Adapter pipeline status: Live on port 8734. Produces Nobulex-compliant behavioral evidence receipts on demand.
File: cross-extension/nobulex_receipt_specimen.json