source: repo-manager reason: deterministic projection registration Assistant: claude-code Assistant-Model: opus Assistant-Process: 1116572@bnt-lap001 Assistant-Session: 8ba9bb93-a72a-4883-b189-2499cce5c400
100 lines
2.5 KiB
Markdown
100 lines
2.5 KiB
Markdown
---
|
|
id: FLUID-WP-0004
|
|
type: workplan
|
|
title: "Revision publication pipeline and control APIs"
|
|
domain: infotech
|
|
repo: fluid-core
|
|
status: active
|
|
owner: worsch
|
|
topic_slug: fluid-core
|
|
created: "2026-09-04"
|
|
updated: "2026-09-04"
|
|
planning_priority: high
|
|
planning_order: 3
|
|
depends_on:
|
|
- FLUID-WP-0003
|
|
state_hub_workstream_id: "2221f88d-ffc5-5e22-80c2-d67a1b17f8ba"
|
|
---
|
|
|
|
# FLUID-WP-0004 - Publication and control APIs
|
|
|
|
Nothing reaches the router unsigned. The deterministic policy gate is built now,
|
|
before anything can generate candidates, so a future Daimon has nowhere to
|
|
bypass.
|
|
|
|
## T01 - Publication pipeline
|
|
|
|
```task
|
|
id: FLUID-WP-0004-T01
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "74bf29c7-b8a6-5a18-bfc7-94641d12564b"
|
|
```
|
|
|
|
Blueprint §35: SOURCE, BUILD, CONTRACT CHECK, TEST, SECURITY CHECK, POLICY
|
|
CHECK, SIGN, PUBLISH, ROUTE. Each stage emits an audit event.
|
|
|
|
## T02 - Descriptor signing and verification
|
|
|
|
```task
|
|
id: FLUID-WP-0004-T02
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "9449aa0b-3c73-56d5-8768-df94b26f0282"
|
|
```
|
|
|
|
The router accepts only signed or otherwise authenticated published revision
|
|
descriptors (§35). An unsigned descriptor must be refused, and that refusal
|
|
tested.
|
|
|
|
## T03 - Revision API
|
|
|
|
```task
|
|
id: FLUID-WP-0004-T03
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "ba302369-3243-57ac-a34a-9a0a29002ac5"
|
|
```
|
|
|
|
Blueprint §44.1: create, verify, publish, set state, query lineage.
|
|
|
|
## T04 - Intent API
|
|
|
|
```task
|
|
id: FLUID-WP-0004-T04
|
|
status: todo
|
|
priority: medium
|
|
state_hub_task_id: "27c597da-4f58-5a0d-b70e-8ba0749d9002"
|
|
```
|
|
|
|
Blueprint §44.5: read active intent, read historical intent, validate a
|
|
candidate against intent, propose an amendment. Amendment stays separately
|
|
governed — the API records a proposal, it does not enact one.
|
|
|
|
## T05 - Deterministic policy gate
|
|
|
|
```task
|
|
id: FLUID-WP-0004-T05
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "b2f96c6c-2c37-5892-bafd-ab9eb2c3f8c2"
|
|
```
|
|
|
|
Blueprint §28.2. Allowed adaptation class, permitted operational mode,
|
|
complexity threshold, security status, test status, compatibility status,
|
|
traffic-allocation maximum, budget, approval requirement. This gate is the
|
|
architectural boundary that stops agentic reasoning from becoming security
|
|
policy.
|
|
|
|
## T06 - Trust model in the type system
|
|
|
|
```task
|
|
id: FLUID-WP-0004-T06
|
|
status: todo
|
|
priority: medium
|
|
state_hub_task_id: "70cc234b-9570-5c51-8620-1a7d32b9a25c"
|
|
```
|
|
|
|
Blueprint §47 made mechanical: generated artifacts are an untrusted candidate
|
|
type until verification produces a signed revision. The compiler should make the
|
|
unsafe path awkward to write.
|