Skip to content

feat: paper v0.3.0 update, SBOM pipeline, and v0.3.0 blog post#63

Merged
ascender1729 merged 1 commit into
mainfrom
feat/paper-v030-update-and-sbom
Apr 19, 2026
Merged

feat: paper v0.3.0 update, SBOM pipeline, and v0.3.0 blog post#63
ascender1729 merged 1 commit into
mainfrom
feat/paper-v030-update-and-sbom

Conversation

@ascender1729
Copy link
Copy Markdown
Member

Three parallel tracks bundled: paper update per code reality + peer review, a new blog post for v0.3.0 ship, and a real CycloneDX SBOM generation pipeline.

Paper

Section-by-section reconciliation against v0.3.0 codebase (agents P1/P2/P3), followed by adversarial reviewer revisions. Headline changes: test count 358, new threat model section, framework integrations subsection, security measures expanded, Annex III differentiation clarified, EU AI Act automation classified as enforced vs recorded vs tracked vs generated, GDPR 17 boundary explicit, post-quantum listed in limitations, 'first integrated' claim softened to the composition claim. See commit body for the full changelog.

Blog

New post at /blog/v0-3-0-ships-real-framework-integrations announcing v0.3.0 with framework snippets, security batch, CI/CD, and dependency pins. Matches existing tone.

SBOM

  • pyproject.toml: new sbom extra pinning cyclonedx-bom>=5.0.0,<6.0.0
  • .github/workflows/sbom.yml: runs on main push + release + dispatch, generates CycloneDX 1.5 JSON via cyclonedx-py environment, validates JSON, computes SHA-256 sidecar, uploads 30-day artefact + attaches to release
  • /sbom page: authoritative-download callout + reproduce-locally pre block + CycloneDX 1.5 spec link

Deferred

  • Full customer/load testing for framework integrations (framework validation currently CI-only)
  • Mainnet schema registration (awaiting external security review)
  • Post-quantum migration
  • Performance baseline against Garzon/Huang (they do not publish numbers)

Three tracks wrapped into one release PR.

## Paper (paper/attestix-paper.tex)

Section-by-section reconciliation against the v0.3.0 codebase, followed
by adversarial peer-review revisions. Combined changes:

Front matter:
- Abstract test count 284 -> 358 (267 functional + 91 conformance).
- Contributions list gains the three production framework integrations
  (LangChain, OpenAI Agents SDK, CrewAI), plus the GitHub Actions CI/CD
  pipeline and the coordinated security-hardening batch.
- Related Work softens the "first integrated" claim to "first to
  integrate DID/VC + EU AI Act + MCP in a single open-source MCP
  server" and cites prior work as targeting subsets.
- New Section 1.A: explicit threat model and scope (in/out, trust
  root, key-compromise treatment, reliance on upstream cryptography
  library for constant-time Ed25519).

System:
- Cryptographic foundation now clarifies Ed25519 timing resistance is
  inherited from the cryptography library at the pinned version.
- Delegation layer details the two v0.3.0 auth-bypass invariants
  (recursive parent validation, capability subset enforcement).
- Compliance section: Article 43 Annex III differentiation is
  explicit (Point 1 blocked from self-assessment; Points 2-8 permit
  internal control per Article 43(2)). Previous blanket-reject bug
  called out as a v0.3.0 correction.
- Compliance automation paragraph classifies each article as
  Enforced / Recorded / Tracked / Generated so readers can tell
  what Attestix actually does vs what it records.
- Hash chain formula now uses RFC 8785 JCS explicitly and removes
  chain_hash/signature fields from the canonicalised entry.

Services + security:
- New Framework Integrations subsection covering LangChain,
  OpenAI Agents SDK, CrewAI, plus example-only Dify, Google ADK,
  Semantic Kernel, Strands.
- Security Measures expanded with constant-time verification source,
  delegation integrity, file permissions, dependency CVE pins,
  GDPR 17 boundary (technical cascade only).
- "Production integrations" language softened throughout to
  "framework integrations" + "reference implementations" and
  acknowledged as CI-validated but not load-tested.

Evaluation:
- Test count updated to 358 in every section.
- Reference-hardware note for performance numbers (CI runner, 2
  vCPU, Docker-confined). Variance disclosed qualitatively; no
  single-run percentiles claimed.
- Explicit "no baseline comparison" paragraph: prior work lacks
  comparable numbers, re-implementing them is out of scope.
- New Continuous Integration and Security Audits subsection.
- New Framework Integration Validation subsection with the 4-step
  per-framework test protocol.
- Standards coverage table: RFC 8785 shown as exercised by every
  VC/audit test; RFC 6962 by dedicated Merkle unit tests; EU AI
  Act rows show enforce/record/track/generate; EAS row qualified
  as Base Sepolia testnet.

Limitations + conclusion:
- Explicit scope boundaries for EU AI Act (data-plane evidence,
  not legal guarantor) and GDPR (technical cascade only).
- Cryptographic migration limitation for post-quantum.
- Framework integrations called out as not yet load-tested in
  production.
- Conclusion drops "first" claim.

## Blog (website/content/v0-3-0-ships-real-framework-integrations.mdx)

New post announcing v0.3.0: framework integrations with code
snippets, security hardening batch with the four ATX-* IDs,
CI/CD pipeline, dependency pins with CVE rationale, EAS schema
and Annex III fixes, what comes next. Tone matches the existing
four posts; no em/en dashes; Base L2 qualified as testnet
throughout.

## SBOM (pyproject.toml + .github/workflows/sbom.yml + /sbom page)

- pyproject.toml adds a new `sbom` optional-dependency group pinned
  to `cyclonedx-bom>=5.0.0,<6.0.0`; also added to `dev`.
- New .github/workflows/sbom.yml runs on push to main, on release
  published, and via workflow_dispatch. Installs the package with
  the blockchain extra plus cyclonedx-bom, generates a CycloneDX
  JSON SBOM via `cyclonedx-py environment`, validates JSON,
  computes SHA-256 sidecar, uploads both as a 30-day workflow
  artefact, and (on release events) attaches both to the GitHub
  release.
- /sbom page gains an authoritative-artefact callout with a
  download button pointing at the latest release, a reproduce-
  locally pre block showing the exact `pip install .[blockchain,sbom]`
  + `cyclonedx-py environment` + `sha256sum` sequence, and a link
  to the CycloneDX 1.5 specification. Copy softened so the site
  no longer claims the SBOM is always attached; it now reads as
  "generated by the workflow and attached to every published
  release".

No commit of SBOM JSON to the repo (avoids merge conflicts; GitHub
release asset is the authoritative source).
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 19, 2026

Warning

Rate limit exceeded

@ascender1729 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 37 minutes and 15 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 37 minutes and 15 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 5bd6d88c-9cfd-4b7d-9c52-6b20dc658560

📥 Commits

Reviewing files that changed from the base of the PR and between 802c2fc and 2a84d65.

📒 Files selected for processing (5)
  • .github/workflows/sbom.yml
  • paper/attestix-paper.tex
  • pyproject.toml
  • website/content/v0-3-0-ships-real-framework-integrations.mdx
  • website/src/app/(marketing)/sbom/page.tsx

Note

.coderabbit.yaml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized key(s) in object: 'ignore'
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/paper-v030-update-and-sbom

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying attestix with  Cloudflare Pages  Cloudflare Pages

Latest commit: 2a84d65
Status: ✅  Deploy successful!
Preview URL: https://8db2baa5.attestix.pages.dev
Branch Preview URL: https://feat-paper-v030-update-and-s.attestix.pages.dev

View logs

@ascender1729 ascender1729 merged commit 16ffbaf into main Apr 19, 2026
19 checks passed
@ascender1729 ascender1729 deleted the feat/paper-v030-update-and-sbom branch April 19, 2026 21:54
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