AI Dev Kit Installation Receipt Reference
Status: Draft (FR-062)
Applies To: GitHub Release installations performed via install_package_from_release.py
Purpose
Installation receipts provide a tamper-evident record of every framework install run. They allow:
- Consumers to prove which frameworks/versions were installed and whether validations passed.
- AI Dev Kit maintainers to reproduce or audit installation issues.
- Automation to ingest telemetry without scraping raw logs.
Receipts complement FR-047 (install logging) by capturing a structured summary that a client AI agent can submit back to the ai-dev-kit team.
Scope (greenfield vs brownfield)
Canonical greenfield installer narrative and ordering live in INSTALL_IN_YOUR_PROJECT.md with ADR-003, FR-081, and IPW-E6S09T01. Receipts may attach to release-based installs; align evidence with that policy boundary.
Receipt Location & Lifecycle
| Item | Value |
|---|---|
| Directory | logs/ai-dev-kit/install/ |
| Filename format | receipt-<timestamp>-<run_id>.json |
| Producer | install_package_from_release.py (CLI) |
| Consumers | Client AI agents, support tooling, telemetry pipeline |
| Retention | Controlled by install_logging.keep (same as install logs) |
Receipts are generated only when installs are performed from a consumer repo (project root contains .ai-dev-kit.yaml). Framework installers append their own sections via the shared AI_DEV_KIT_INSTALL_LOG_PATH env var.
JSON Schema (v1)
{
"schema_version": "1.0.0",
"install_run_id": "2026-03-18T12:00:35Z_3f8c2c",
"project": {
"name": "xoforge",
"repo": "git@github.com:example/xoforge.git",
"branch": "main"
},
"frameworks": [
{
"name": "workflow-mgmt",
"requested_version": "2.1.4",
"source": "https://github.com/earlution/ai-dev-kit/releases/download/workflow-mgmt-v2.1.4/...",
"hash": "sha256:...",
"status": "installed"
},
{
"name": "kanban",
"requested_version": "2.1.0",
"source": "https://github.com/earlution/ai-dev-kit/releases/download/kanban-v2.1.0/...",
"hash": "sha256:...",
"status": "installed"
}
],
"validation": {
"workflow_installer": {
"status": "success",
"warnings": []
},
"kanban_installer": {
"status": "success",
"warnings": [
"Detected existing Kanban docs, switched to migration mode"
]
}
},
"log_paths": {
"combined": "logs/ai-dev-kit/install/install-20260318-1200.log",
"cli": "logs/ai-dev-kit/install/install-20260318-1200.log",
"framework": "logs/ai-dev-kit/install/install-20260318-1200.log"
},
"nonce": "be9d06c6b7fb4d0b",
"signature": "hmac-sha256:4b1c…",
"submitted": false
}
Key requirements:
install_run_idis globally unique (timestamp + random suffix).nonce+signatureallow the maintainer API to detect tampering.submittedflips totruewhen the client agent successfully reports the receipt back.
Client Submission Workflow
- Install frameworks via GitHub Release (see installation guide).
- Locate receipt in
logs/ai-dev-kit/install/. - Validate install telemetry first:
ai-dev-kit logs validate-install-log --limit 1- This ensures the latest JSON install log has required event-contract and correlation fields before submission.
- Create feedback payload from install telemetry:
ai-dev-kit logs prepare-feedback-payload- Optional:
--install-log <path>and--output <path>
- Validate feedback payload:
ai-dev-kit logs validate-feedback-payload --file logs/ai-dev-kit/feedback/payload-*.json
- Submit payload through deterministic submission path:
ai-dev-kit logs submit-feedback-payload --file logs/ai-dev-kit/feedback/payload-*.json
- Outcome handling:
accepted: local submission receipt written underlogs/ai-dev-kit/feedback/submissions/needs-redaction: payload rejected until sensitive content is removedneeds-more-context: payload rejected until required troubleshooting context is includedrejected: schema invalid; fix validation errors then retry
Receipt Signing
- Default signer: HMAC-SHA256 using the
install_logging.receipt_keyvalue in.ai-dev-kit.yaml. - Projects should rotate keys via standard secret management. Future versions may support asymmetric signatures (Ed25519).
- If no key is configured, receipts are generated but flagged
signature: nulland rejected by the maintainer API.
AI Agent Guidance
When your agent completes an install run:
- Parse the newest receipt file.
- Summarize the run in the project log or PR comment.
- Submit the receipt via
ai-dev-kit receipt submit …. - If submission fails, retry up to 3 times and attach the failure reason to the PR.
Assistants integrating with other orchestration tools should map this to whatever “post-install verification” hook they expose.
References
- FR-062 – GitHub Release Installation Experience.
- FR-047 – Install Logging for Framework Dependencies.
- Task: E5:S01:T62 – GitHub Release Installation Experience.