Document the decision overview and finish INFD-WP-0003 (T04)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 359683@bnt-lap001 Assistant-Session: eebdc939-7a9b-4e50-9d39-c8437e8a14ec
This commit is contained in:
parent
0632215b5d
commit
6509ff1460
3 changed files with 53 additions and 3 deletions
|
|
@ -54,7 +54,7 @@ old evidence and submission records.
|
|||
|
||||
| Route | Behavior |
|
||||
| --- | --- |
|
||||
| `GET /` | Sign-in or named memo identifier form; no approvals inbox |
|
||||
| `GET /` | Sign-in, then the reviewer's decision overview (below) and the memo identifier form |
|
||||
| `GET /review?memo_id=...` | Entitled current memo; existing intent retrieves its original view |
|
||||
| `GET /presentations/<id>` | Entitled historical presentation and current submission result |
|
||||
| `GET /presentations/<id>/packet/<index>` | Fresh read permission and full attachment bytes |
|
||||
|
|
@ -76,6 +76,42 @@ inline scripts, framing and caching remain prohibited. There is no telemetry
|
|||
or client-side token storage. The reverse proxy must still omit auth queries,
|
||||
bearer headers and cookies from its logs.
|
||||
|
||||
## Decision overview
|
||||
|
||||
Added under `INFD-WP-0003`. After sign-in, `GET /` lists the memos this
|
||||
repository holds that name the signed-in person as the person bound
|
||||
(`binding.principal`, kind `person`). The latest version of each memo is placed
|
||||
in one group:
|
||||
|
||||
| Group | Condition |
|
||||
| --- | --- |
|
||||
| Needs attention | the accepted entry is `in_flight` or `unresolved` and needs operator recovery |
|
||||
| Open for you | no decision recorded on the latest version, or a prepared accept not yet submitted, and the approval is `requested`/`approved` or its status is unknown |
|
||||
| Accepted | Approval Engine confirmed the entry. The row shows `approved_at` and the live status |
|
||||
| Declined | the latest response on the latest version is `decline` |
|
||||
| Returned or in discussion | the latest response on the latest version is `return` or `discuss`. A revised version moves the memo back to Open |
|
||||
| Closed without your response | the approval is `expired`, `revoked`, `superseded` or `consumed` and you recorded no decision |
|
||||
| Not available | the permission check refused or failed. Only the memo id and a bounded reason are shown |
|
||||
|
||||
Each row links to `/review?memo_id=...`. It also lists the person's earlier
|
||||
responses on every version.
|
||||
|
||||
The overview is not an inbox and not approval state:
|
||||
|
||||
- **It checks permission per row.** Each row gets its own fresh Flex Auth
|
||||
`read` decision before its question is shown. It is the same check the
|
||||
review uses, and each decision is stored as a policy observation. A refused
|
||||
row does not call Approval Engine.
|
||||
- **It reads Approval Engine by id only.** The overview looks up the approval
|
||||
id the memo already carries. It never polls for work. The status is shown
|
||||
live and never stored. An unavailable engine, or an act digest that no longer
|
||||
matches, degrades only that row.
|
||||
- **It records nothing.** It creates no presentation, acknowledgment or
|
||||
disposition. Binding still happens only on the review page, which runs its
|
||||
own checks again.
|
||||
- **It shows little memo content.** A row shows only the question, the memo id
|
||||
and version, and the status. The brief and packet appear only on the review.
|
||||
|
||||
## Owner configuration and audit readiness
|
||||
|
||||
Set `INFD_REVIEW_CONFIG` to an absolute, owned, regular 0600 JSON file. Its
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue