references assumes resolution: the self-validating case, and registering position-commitment
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- markdown
- Ambito
- documentation
Direzione di ricerca
Start with §3.1.2 and §7 open question 3, then read docs/rfcs/a2a-delegation-profile.md §4.3 and the discussion in #226. Work out how the proposed field, verification outcomes, and position-commitment registration fit the v0.3 spec. Done means the spec clearly distinguishes missing proof from a recomputation mismatch and states when the entry and resolver are required.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The gap
§3.1.2 models a reference as a fact held somewhere and fetched. The field table says id is the identifier of the referenced fact held by the resolver, resolver names the party obliged to keep it resolvable, and the unsettled paragraph closes with the sentence that gives the block its shape:
A reference is worth only the ability to resolve it later, and transparency-log practice shows that gap is real rather than theoretical: a record can remain valid and become unreachable when the index that addressed it is removed.
That is true when id is an address. It is false when id is a digest the verifier recomputes from a proof the holder already carries. In that case nothing is fetched, nothing is retained, and no party is obliged to do either. The block has no vocabulary for it, and the two fields that would describe it both say the opposite.
The live case
Michael Argento of Argento Computing Inc. (BitGraph) hit this building a position-commitment profile on TRACE, and has given permission to be named.
His construction: an enclave allocates a slot before the record's digest exists, the slot record is signed by the enclave and travels inside the proof, and the not-before is an external ordered sequence he does not operate. His words, quoted with permission:
The fact is not held anywhere. The slot record is signed by the enclave, carried in the proof, and checked by whoever holds it. There is nothing to resolve because there is nothing anyone keeps. References models facts held elsewhere. This is evidence carried here.
Under the spec as written the correct outcome is rule 4: omit the entry, and that is what his 0.4 package ships. The profile is otherwise assurance-neutral and passes the suite at Level 0.
Omitting it has a measurable cost, which he documents against himself rather than hiding:
The floor now bounds the commit rather than the record, so the profile rejects a backdate by rule, position taken at issuance, rather than by a contradiction inside the record. The version you ran could tell a backdate from a late commit; this one cannot.
That is the property a self-validating form would restore, stated as a capability lost rather than a feature wanted.
What the form has to say
Three requirements, the third split.
idis validated by recomputation from evidence the verifier holds, not by resolution, and the recomputation must bind the entry to the record carrying it. Establishing that the referenced object exists is not enough: a self-validating entry is public once its evidence is, so any record could carry it and pass. What binds it is the evidence committing to this record's digest.- There is no obliged party, so rule 4 does not apply and
resolvercarries no undertaking. - Two outcomes, kept apart:
- the verifier cannot recompute because it lacks the proof: the entry is absent, and this is not a finding against the record;
- the recomputation runs and disagrees: that is a contradiction and must stay one.
The third is the one worth guarding. Collapsing those two is the same defect docs/rfcs/a2a-delegation-profile.md §4.3 exists to prevent on the delegation surface, where a chain that was merely unreadable got reported as tampering. A single sentence covering both is how a verifier ends up reporting tampering as absence.
A field, not a rel
Self-validation is how an entry is checked. A rel names what the entry relates to. Putting the check semantics into a registered relation collapses the two, which is the same category error that put a vendor prefix in rel when resolver already named the producer.
So: one optional field marking any entry self-validating, applicable across relations, rather than a relation whose name secretly changes the verification rule.
Cost, and why this is v0.3
Allowing resolver to be absent breaks no existing record: every record already carries it. It does mint records that a v0.2 verifier rejects, which makes it a version gate rather than a patch, and puts it in v0.3 alongside the normative work already scheduled there.
Worth stating plainly because "backward compatible" usually means existing records keep validating, and that is satisfied here while forward compatibility is not.
Registration: position-commitment
Proposed, in the style of the three registered values:
position-commitment. A commitment to a position in an externally ordered sequence, taken before the digest of this record exists.idis the commitment to that position, validated by recomputation from a proof the holder carries and that commits this record, rather than by resolution.
The relation is registrable independently of the field. It should be registered knowing that under v0.2 it earns nothing: recomputation is not a check the block defines, rule 3 still governs, the entry remains a pointer, and resolver is still required, so a producer who retains nothing must still omit the entry.
Relationship to #226
#226 gathers four governance requests as one question about which relations get registered values and what a verifier may conclude from each. This is a different axis: not which relation, but whether the block's resolution model is the only one. position-commitment belongs on #226's list; the self-validating field does not, because registering relations does not reach it.
§7 open question 3 is the neighbouring one, and §3.1.2 already says retention and transparency should be resolved together. A third case now sits beside them: a reference that needs no retention at all.
- Lingua principale
- Python
- Stelle
- 37
- Fork
- 33
- Merge medio
- 1g 9h
- PR unite (30g)
- 119
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di agentrust-io/trace-spec
-
prototype(verifier_token): map disallowed warning to contraindicated before composite precedence checkForse già presa @drk-ram l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
agentrust-io/trace-spec#582 ·
I maintainer di solito rispondono entro 1 giorno
-
intent_bridge: normalize integer-by-value timestamps (authorized_at, expires_at, observed_at) to int and bound now by JCS_SAFE_INTEGERForse già presa @drk-ram l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
agentrust-io/trace-spec#568 ·
I maintainer di solito rispondono entro 1 giorno
-
prototype(manifest_requirements): resolve accepted_methods without duplicating bindings and reject unconfigured binding endpoints with ProfileErrorForse già presa @drk-ram l’ha presa oggi. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
agentrust-io/trace-spec#580 ·
I maintainer di solito rispondono entro 1 giorno
-
feat(delegation): add parent_record_hash, verify_delegation_link, and verify_delegation_chain to agentrust_traceForse già presa @drk-ram l’ha presa oggi. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 58/100
agentrust-io/trace-spec#581 ·
I maintainer di solito rispondono entro 1 giorno
-
prototype(execution_appraisal,azure_execution_binding): fail closed with ExecutionDenied on malformed inputs, private JWKs, and non-minimal Base64urlUIntForse già presa @drk-ram l’ha presa oggi. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
agentrust-io/trace-spec#583 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di agentrust-io/trace-spec
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
eclipse-score/inc_someip_gateway#356 ·
I maintainer di solito rispondono entro 2 giorni
-
[BUG]: `GitHubRestAdapter.check_user_permission` and `has_write_access` raise `TypeError` (missing `params`), silently disabling the inactivity lifecycleForse già presa @tarunagnihotri534 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
AOSSIE-Org/Gitcord-GithubDiscordBot#167 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
mihai-vlc/sublime-jsfmt#56 ·
-
comp/cli comp/plugins P2 type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
NousResearch/hermes-agent#141917 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
riscv/riscv-opcodes#441 ·