Skip to content

docs: link published IETF draft, refresh IPP comparison to draft-01; fix(deps): clear 10 Dependabot advisories - #34

Merged
asiridalugoda merged 2 commits into
mainfrom
docs/ietf-01-and-ipp-01-refs
Aug 3, 2026
Merged

docs: link published IETF draft, refresh IPP comparison to draft-01; fix(deps): clear 10 Dependabot advisories#34
asiridalugoda merged 2 commits into
mainfrom
docs/ietf-01-and-ipp-01-refs

Conversation

@asiridalugoda

@asiridalugoda asiridalugoda commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Two things: documentation updates for the published IETF draft, and a lockfile-only dependency triage.

Part 1 — Documentation

Two things changed upstream since these docs were written:

  • draft-helixar-hdp-agentic-delegation-01 is now published on the IETF datatracker (posted 2026-08-03, expires 2027-02-04).
  • draft-haberkamp-ipp-01 superseded ipp-00 in July 2026.

README

  • Add an IETF Internet-Draft badge and a Standardization note. The root README had no link to the draft at all, while every package README (hdp-langchain, hdp-crewai, hdp-autogen, hdp-agent-framework, hdp-autogen-ts) already links it.
  • Clarify max_hops in the quickstart example and the verification pipeline: the value is the issuer's delegation budget, not a protocol limit, and omitting it leaves chain length unbounded. This mirrors wording published in -01, prompted by a reader who read the example value 3 as a protocol-fixed three-agent cap.
  • Point the "Why Not IPP?" link at ipp-01.

Package READMEs are deliberately not touched: they link the version-less datatracker URL, which always resolves to the newest revision.

COMPARISON.md

Every IPP claim was re-verified against draft-haberkamp-ipp-01 rather than assumed to carry forward:

Claim Status in -01
5,000 ms revocation polling Unchanged (8.2)
Genesis seal bound to khsovereign founding key Unchanged (5.2)
Mandatory W3C DID Core principals Unchanged (6.2)
Central taxonomy registry Unchanged (10.3)
Proof-of-humanity absent Still absent
Token structure Changed
Hop signing Changed

So two cells were corrected, not just requoted:

  1. Token structuregenesis_seal renamed to genesis, intent_envelope to intent, and token_id / delegation / schema_version added (4.1-4.2).
  2. Hop signing — provenance records now carry a per-record agent_sig (9.2). "Hop-level signing semantics are not specified" was true of -00 and is no longer accurate. Narrowed to the claim that still holds: the canonical serialization used for signing, and whether records chain cryptographically over prior records, remain undefined.

The core architectural argument (fully offline verification, no central trust anchor) is unchanged.

Part 2 — Dependency triage

package-lock.json only. No package.json ranges changed, so no API or supported-version surface moves. 10 of 11 open advisories cleared.

Runtime (ships to consumers)

  • fast-uri 3.1.0 → 3.1.5 — clears four high-severity advisories: path traversal via percent-encoded dot segments (GHSA-q3j6-qgpj-74h6), host confusion via percent-encoded (GHSA-v39h-62p7-jpjc) and literal-backslash (GHSA-v2hh-gcrm-f6hx) authority delimiters, and host confusion via failed IDN canonicalization (GHSA-4c8g-83qw-93j6). Reached through ajvajv-formats, which src/schema/validator.ts registers — so these parse untrusted token input during verification. This is the group worth caring about.
  • uuid 13.0.0 → 13.0.2GHSA-w5hq-g745-h8pq, missing buffer bounds check in v3/v5/v6 when buf is provided. Not reachable here: the only call site is uuidv4 in src/token/builder.ts, with no buf argument.

Development only

Left open, deliberately

  • esbuild 0.27.4 (GHSA-g7r4-m6w7-qqqr, low). Patched in 0.28.1, but tsup@8.5.1 — the latest release — requires esbuild ^0.27.0, so reaching the patch would mean overriding tsup onto an unsupported esbuild major. The advisory covers arbitrary file read from the esbuild dev server on Windows; esbuild is used here only as a bundler via tsup and via vite for vitest, and no dev server is run. Recommend leaving it until tsup widens its range.

Verification

  • 84 tests pass across 24 files (npm test)
  • tsc --noEmit clean
  • tsup build succeeds for CJS, ESM, and DTS

Known gaps

  • IPP verification was done against fetched renderings of the -01 text, not a full line-by-line read. The rows above are solid, but a complete pass may surface more drift; the new delegation object in particular is unexamined. Worth closing before COMPARISON.md is cited in any announcement.
  • https://helixar.ai/labs/hdp currently returns 404. Resolved — it now 301s to /about/labs/hdp/ and returns 200, so the link in COMPARISON.md works. Note for -02: that destination is an overview page, while the published -01 cites it as [HDP-SPEC] titled "v0.1 Specification" (§1.4: "The full HDP protocol specification is available at..."). Either publish the spec at that URL or retarget the reference.
  • The vite 8.2 bump surfaces a new non-fatal warning: vitest.config.ts uses ESM syntax in a file loaded as CommonJS, which a future Vite major will stop supporting. Not addressed here; fix is to rename to .mts or set "type": "module".

draft-helixar-hdp-agentic-delegation-01 is now posted on the IETF
datatracker, and draft-haberkamp-ipp-01 superseded ipp-00 in July 2026.

README:
- add IETF Internet-Draft badge and a Standardization note; the root
  README previously had no link to the draft, unlike the package READMEs
- clarify max_hops in the quickstart example and the verification
  pipeline: the value is the issuer's delegation budget, not a protocol
  limit, and omitting it leaves chain length unbounded
- point the "Why Not IPP?" link at ipp-01

COMPARISON.md, verified against draft-haberkamp-ipp-01:
- unchanged in -01: 5,000 ms revocation polling (8.2), genesis seal bound
  to ipp.khsovereign.com founding key (5.2), mandatory W3C DID Core
  principals (6.2), central taxonomy (10.3)
- changed in -01, so two cells were corrected rather than just requoted:
  token structure gained token_id/delegation/schema_version and renamed
  genesis_seal to genesis and intent_envelope to intent (4.1-4.2); and
  provenance records now carry a per-record agent_sig (9.2), so "hop
  signing not specified" is no longer accurate - the gap is now the
  undefined canonical serialization and record chaining

The max_hops wording mirrors the clarification published in -01, which
came from a reader misreading the example value 3 as a protocol-fixed
three-agent cap.
package-lock.json only; no package.json ranges changed, so no API or
supported-version surface moves.

Runtime (ships to consumers):
- fast-uri 3.1.0 -> 3.1.5, clearing four high-severity advisories
  (GHSA-q3j6-qgpj-74h6 path traversal via percent-encoded dot segments,
  GHSA-v39h-62p7-jpjc and GHSA-v2hh-gcrm-f6hx host confusion via
  percent-encoded and literal-backslash authority delimiters,
  GHSA-4c8g-83qw-93j6 host confusion via failed IDN canonicalization).
  Reached through ajv -> ajv-formats, which src/schema/validator.ts
  registers, so these parse untrusted token input during verification.
- uuid 13.0.0 -> 13.0.2 (GHSA-w5hq-g745-h8pq, missing buffer bounds
  check in v3/v5/v6 when buf is provided). Not reachable here: the only
  call site is uuidv4 in src/token/builder.ts with no buf argument.

Development only:
- postcss 8.5.x -> 8.5.25 (GHSA-6g55-p6wh-862q, GHSA-r28c-9q8g-f849,
  GHSA-qx2v-qp2m-jg93)
- vite 8.0.x -> 8.2.0 (GHSA-fx2h-pf6j-xcff, GHSA-v6wh-96g9-6wx3)

Left open, deliberately:
- esbuild 0.27.4 (GHSA-g7r4-m6w7-qqqr, low). Patched in 0.28.1, but
  tsup@8.5.1 (latest) requires esbuild ^0.27.0, so reaching it would
  mean overriding tsup onto an unsupported esbuild major. The advisory
  covers arbitrary file read from the esbuild dev server on Windows;
  esbuild is used here only as a bundler via tsup and via vite for
  vitest, and no dev server is run.

Verified: 84 tests pass across 24 files, tsc --noEmit clean, tsup build
succeeds for CJS, ESM, and DTS.
@asiridalugoda asiridalugoda changed the title docs: link published IETF draft, refresh IPP comparison to draft-01 docs: link published IETF draft, refresh IPP comparison to draft-01; fix(deps): clear 10 Dependabot advisories Aug 3, 2026
@asiridalugoda
asiridalugoda merged commit 3e0d8b4 into main Aug 3, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant