-
Notifications
You must be signed in to change notification settings - Fork 0
Phase 260: apply public HACP protocol docs packet #23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| # HACP Adapters And Projections | ||
|
|
||
| Adapters and projections carry or display protocol records. They are not core | ||
| authority and do not grant approval by themselves. | ||
|
|
||
| ## Core Rule | ||
|
|
||
| Authority remains in explicit `HumanDecision` checkpoints. Transport and read | ||
| models never replace those checkpoints. | ||
|
|
||
| ## Adapter Examples (Transport Paths) | ||
|
|
||
| - implementation CLI commands (for example, owner/operator tooling) | ||
| - file drop/push transport | ||
| - RabbitMQ adapter | ||
| - Model Context Protocol (MCP) adapter | ||
| - webhook adapters | ||
|
|
||
| Each adapter may move packets, reports, evidence, and receipts. None of them | ||
| approves risky transitions. | ||
|
|
||
| ## Projection Examples (Read Models) | ||
|
|
||
| - OpenTelemetry (OTel) projections | ||
| - dashboard/reporting projections | ||
| - derived lifecycle summaries | ||
|
|
||
| Projections are derived views. They are useful for observability and audits, but | ||
| they are not source authority. | ||
|
|
||
| ## Non-Claims | ||
|
|
||
| - HACP does not execute work by itself. | ||
| - HACP does not require RabbitMQ. | ||
| - HACP does not treat transport success as completion proof. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| # HACP Authority Boundaries | ||
|
|
||
| HACP keeps authority explicit and human-issued. The protocol records custody and | ||
| decisions; it does not replace approval authority. | ||
|
|
||
| ## Mandatory Boundary Statements | ||
|
|
||
| - Approval is explicit and human-issued. | ||
| - Report verification confirms custody/integrity checks, not completion. | ||
| - File and CLI transports move artifacts but do not grant authority. | ||
| - Human decision remains required for risky transitions. | ||
|
|
||
| ## What Authority Is Not | ||
|
|
||
| - File arrival is not approval. | ||
| - Report presence is not completion proof. | ||
| - Verification does not replace human decision. | ||
| - Adapter usage does not transfer authority. | ||
|
|
||
| ## Control-Plane Posture | ||
|
|
||
| HACP is transport-neutral. It can be carried through multiple adapters while | ||
| keeping the same authority contracts: | ||
|
|
||
| - `TaskPacket` defines bounded intent and constraints. | ||
| - `AgentReport` and `EvidenceSet` provide reviewable claims. | ||
| - `HumanDecision` records approval/rejection/defer outcomes. | ||
| - `StopResponse` records why continuation halted (with a typed `stop_reason`). | ||
| - `AuditEvent` and `Receipt` preserve custody traceability. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| # HACP Event Lifecycle | ||
|
|
||
| This page summarizes public draft lifecycle events for packet custody, report | ||
| custody, and explicit authority decisions. | ||
|
|
||
| These lifecycle labels are public-facing projection labels. They are not a | ||
| replacement for base RFC audit `event_type` values or base decision-matrix | ||
| status values. | ||
|
|
||
| ## Packet Lifecycle | ||
|
|
||
| - `packet.received` | ||
| - `packet.exported` | ||
| - `packet.validated` | ||
|
|
||
| ## Report Lifecycle | ||
|
|
||
| - `report.built` | ||
| - `report.ready_for_import` | ||
| - `report.import_verifier_checked` | ||
|
|
||
| ## Decision And Stop Lifecycle | ||
|
|
||
| - `human_decision_required` (projection label; base status is | ||
| `needs_human_decision`) | ||
| - `stopped` | ||
| - `rejected` | ||
|
|
||
| ## Boundary Notes | ||
|
|
||
| - Base audit `event_type` vocabulary remains in | ||
| [RFC-0007](../rfcs/0007-audit-trail-and-evidence-set.md). | ||
| - Base status vocabulary remains in | ||
| [decision-matrix-base-v0.1.yaml](../decision-matrix-base-v0.1.yaml), | ||
| including `needs_human_decision`. | ||
| - `report.import_verifier_checked` confirms custody/integrity checks only. | ||
| - Verification state is not completion proof. | ||
| - Risky transitions require explicit `HumanDecision`. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| # HACP Glossary | ||
|
|
||
| This glossary is public-safe protocol framing for core HACP contracts and | ||
| authority boundaries. | ||
|
|
||
| ## Core Contract Objects | ||
|
|
||
| - `TaskPacket`: bounded, human-approved task intent and constraints. | ||
| - `AgentReport`: execution/output record returned for review and import. | ||
| - `EvidenceSet`: references and artifacts used to justify report claims. | ||
| - `HumanDecision`: explicit approve/reject/defer authority checkpoint. | ||
| - `StopResponse`: typed record indicating why continuation stopped or was | ||
| rejected (with `stop_reason` as the typed reason field). | ||
| - `Receipt`: custody/readback marker for import/verification steps. | ||
| - `AuditEvent`: immutable event record for lifecycle and authority traceability. | ||
|
|
||
| ## Lifecycle Terms | ||
|
|
||
| - `packet.received`: packet intake acknowledged. | ||
| - `packet.exported`: packet handed to external or local workflow path. | ||
| - `packet.validated`: packet contract checks passed. | ||
| - `report.built`: report artifact assembled. | ||
| - `report.ready_for_import`: report prepared for app-side verifier/import. | ||
| - `report.import_verifier_checked`: import verification checks passed. | ||
| - `human_decision_required`: authority gate is still open and required. | ||
| - `stopped`: execution path halted under explicit stop semantics. | ||
| - `rejected`: decision or result rejected with typed rationale. | ||
|
|
||
| These lifecycle labels are projection-oriented terms for public framing. Base | ||
| audit `event_type` vocabulary remains defined in | ||
| [RFC-0007](../rfcs/0007-audit-trail-and-evidence-set.md), and base status | ||
| vocabulary remains defined in | ||
| [decision-matrix-base-v0.1.yaml](../decision-matrix-base-v0.1.yaml). | ||
|
|
||
| ## Boundary Terms | ||
|
|
||
| - `authority boundary`: rule defining who can approve risky transitions. | ||
| - `transport-neutral`: contract does not depend on one transport mechanism. | ||
| - `owner-controlled`: execution boundary stays under owner/operator control. | ||
| - `adapter`: implementation path carrying records without granting authority. | ||
| - `projection`: derived read model (for example OpenTelemetry/OTel), not source | ||
| authority. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| # Owner-Controlled Bridge Workflow | ||
|
|
||
| This workflow describes a public-safe bridge where an owner controls execution | ||
| while HACP records packet/report/evidence/decision custody. | ||
|
|
||
| ## Flow | ||
|
|
||
| 1. Human approves a bounded `TaskPacket`. | ||
| 2. Packet is exported through CLI or file transport. | ||
| 3. External/local runner performs bounded work. | ||
| 4. Runner returns an `AgentReport` with an `EvidenceSet`. | ||
| 5. Import verifier checks custody/integrity and emits receipt/audit events. | ||
| 6. Workflow enters `human_decision_required`. | ||
| 7. Human records a `HumanDecision` or a `StopResponse`. | ||
|
|
||
| ## Example Bridge Paths | ||
|
|
||
| Illustrative CLI shape only. This repository does not ship these commands; it | ||
| ships `npm run hacp:doctor` for local schema/fixture validation. | ||
|
|
||
| CLI example: | ||
|
|
||
| ```bash | ||
| <implementation-cli> packet fetch --packet-id pkt_example_001 --out packet.json | ||
| <implementation-cli> runner execute --packet packet.json --command "npm run test:unit" --out report.json | ||
| <implementation-cli> report submit --packet packet.json --report report.json | ||
| ``` | ||
|
|
||
| File transport: | ||
|
|
||
| ```text | ||
| file-drop/incoming/pkt_example_001.task-packet.json | ||
| file-drop/outgoing/rpt_example_001.agent-report.json | ||
| ``` | ||
|
|
||
| ## Required Boundaries | ||
|
|
||
| - File/CLI transport moves records but does not grant authority. | ||
| - Verification confirms custody/integrity checks, not completion proof. | ||
| - Risky transitions require explicit human-issued decision records. | ||
| - HACP records and coordinates these steps; it does not execute work by itself. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.