Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/DOCUMENTATION_INDEX.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ This file lists the documentation that is most likely to need updates when behav
- `docs/plans/nb-bond-api-hardening/`: Plan folder (proposed) for NB Bond API robustness: per-signer nonce management with a bounded confirmation wait, one RFC 7807 error handler (400/413/404/503 and sanitised 500s), a process-local liveness probe and safer chart defaults, a scoped runtime image, cleanup, and optional drift guards and route-module extraction.
- `docs/plans/nb-ui-correctness-and-hardening/`: Plan folder (proposed) for NB UI fixes: a non-throwing router with error boundaries, one 401 path, the matured KPI tile, a coupon modal driven by live data, bidder soft delete (API and UI), a bond history card, nginx security and cache headers, and dead-code removal.
- `docs/plans/sandbox-scripts-and-ci-hardening/`: Plan folder (proposed) for the sandbox scripts and CI: flag precedence with an untracked `.env.sandbox`, readiness timeouts that fail the run, command validation before side effects, a working bid-tool install, loopback-only host ports, registry and image-pin fixes, a delegating Makefile, a pin-drift check, and CI and verification gaps.
- `docs/plans/documentation-refresh/`: Plan folder (proposed) for pre-existing documentation drift: environment-neutral deployment wording, plan-tree housekeeping, removed behaviour still documented, known-issue pruning and additions, NatSpec source links, and the licence inventory and contributor entry points.
- `docs/plans/image-pin-refresh/`: Plan folder (in progress, local sandbox only) that refreshes the container image and chart pins Dependabot does not track: base image refs in the content hashes first, then nginx 1.30.6, Postgres/Python/Blockscout chart/verifier, NGINX Gateway Fabric 2.8.0, Besu 26.10.0, Blockscout v12 with frontend v2.12, and registry 3, each proven live, with a per-slice table of node-wipe, contract-redeployment, and one-way data impact for a later non-local rollout.
- `docs/plans/closed-loop-settlement-and-omnibus-custody-plan.md`: **Parked 2026-10-27, not scheduled; predates ADRs 0003–0005 and needs a refresh before implementation (see its drift note).** Plan to settle the primary auction cash leg by central-bank authority instead of a bidder ERC-20 allowance (fixes the `ERC20InsufficientAllowance` / `FailureReason.Cash` finalisation failure), then a phased path to omnibus broker custody, a unified `PrimaryDealerRegistry`, and two-tier coupon/redemption. Phase 1 is diff-level (Roles + Wnok `settle()` + BondDvP cash-leg swap + deploy wiring); Phases 2–6 are roadmap.
- `docs/plans/sandbox-fmi-wallet-plan.md`: **Parked 2026-10-27, not scheduled.** Sandbox-only implementation plan for a multi-participant institutional wallet with encrypted local keys, typed transaction intents, simulated maker/checker approval, directory-backed recipient selection/revalidation, durable audit, and removal of bidder impersonation from the NB Bond API.
- `docs/plans/sandbox-entity-directory-and-name-service-plan.md`: **Parked 2026-10-27, not scheduled.** Standalone sandbox entity-directory/name-service plan with its own persistent database, backend API, search/admin UI, synthetic profile/contact enrichment, optional provenance-aware on-chain registry readers, and a BENS-compatible Blockscout adapter backed by the same directory data.
- `docs/plans/archive/`: Reference-only archive of completed implementation plans. Status lines inside each plan record the implementing PR and its state where relevant:
- `docs/plans/archive/documentation-refresh/`: Plan folder that cleared pre-existing documentation drift in five slices: environment-neutral deployment wording, plan-tree housekeeping, removed behaviour still documented, known-issue pruning and additions, repository-relative NatSpec source links, and the licence inventory and contributor entry points. Shipped via #325–#329.
- `docs/plans/archive/erc-3643-incremental-adoption-plan.md`: Archived 2026-10-27. **Superseded in direction by `docs/decisions/0002-adopt-erc-3643-for-tokenized-securities.md`** (full migration to canonical ERC-3643 for bonds + equities, retiring the partitioned `BondToken` and the ERC-20 `StockToken`). Retained as the record of the *incremental* approach considered and rejected — a shared external identity registry + modular compliance bolted onto the existing partitioned `BondToken` and cash (`Wnok`), closing the bond transfer-eligibility gap first, then agent powers, compliance modules, and full ONCHAINID. Its eligibility-gap analysis and phase mechanics remain a useful reference.
- `docs/plans/archive/vitest-4-1-12/`: Plan folder that moved nb-ui's test runner from vitest 4.1.11 to 4.1.12 with its exact-pinned `@vitest/*` packages, clearing two moderate `@vitest/mocker` advisories (GHSA-qxg6-89mg-rqv8, GHSA-xp26-3454-mjgp) with a nine-entry lockfile transplant. Shipped with the change itself.
- `docs/plans/archive/node-26-12-pin-bump/`: Plan folder that moved the shared Node toolchain pin from 26.5.0 to 26.12.1 (after two missed security releases) and `@types/node` to 26.6.5, with a live rebuild check of the nb-bond-api and nb-ui images; its image cache-key fix landed separately as #308. Shipped with the change itself.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
**Status:** Draft
**Created:** 2026-09-28
**Intent:** [`intent.md`](intent.md)
**Builds on:** ADR 0003, [ADR 0004](../../decisions/0004-settle-all-bond-cash-legs-in-wnok.md),
[ADR 0005](../../decisions/0005-redeem-principal-with-the-final-coupon.md), #225, #259, #276,
**Builds on:** ADR 0003, [ADR 0004](../../../decisions/0004-settle-all-bond-cash-legs-in-wnok.md),
[ADR 0005](../../../decisions/0005-redeem-principal-with-the-final-coupon.md), #225, #259, #276,
#278, #291, #292, #293, #294.

## Decision Summary
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Documentation refresh — Implementation Plan

**Status:** Proposed
**Status:** Implemented — shipped in #325–#329; archived 2026-10-27
**Created:** 2026-09-28
**Scope:** `docs/` (index, known issues, architecture, diagrams, plans tree), `services/AGENTS.md`, `services/DEVELOPMENT.md`, `services/nb-bond-api/{README,DEVELOPMENT}.md`, `services/nb-bond-api/helm/values.local.example.yaml`, `services/nb-bond-api/src/{env-vars,auth}.ts`, `services/nb-bond-api/src/contracts/{bonds,auctions}.ts`, `services/nb-bond-api/openapi.json` (generated), cloud-wording lines in `services/nb-ui/`, `contracts/docs/contracts-security.md`, `contracts/docs/natspec/` (script and generated pages), `THIRD_PARTY_LICENSES.md`, `README.md`, `CONTRIBUTING.md`
**Intent:** [`intent.md`](intent.md) · **Design:** [`design.md`](design.md) · **Progress:** [`progress.md`](progress.md)
Expand Down Expand Up @@ -49,7 +49,7 @@ Confirm every finding in `design.md` still holds on the current `development` be

### Exit Criteria

- [ ] Baseline counts recorded in `progress.md`.
- [x] Baseline counts recorded in `progress.md`.

## Phase 1: Cloud wording and local tooling names (PR 1)

Expand Down Expand Up @@ -105,9 +105,9 @@ Every "To fix" row of `design.md` §D1 and every active row of §D2.

### Exit Criteria

- [ ] Every D1 "To fix" row and D2 active row resolved.
- [ ] `openapi.json` regenerated with only the description change.
- [ ] Package gates, hygiene, and link checks pass.
- [x] Every D1 "To fix" row and D2 active row resolved.
- [x] `openapi.json` regenerated with only the description change (no diff; see `progress.md` Deviations).
- [x] Package gates, hygiene, and link checks pass.

## Phase 2: Plan housekeeping (PR 2)

Expand Down Expand Up @@ -154,9 +154,9 @@ resolve by convention.

### Exit Criteria

- [ ] Superseded plan archived and indexed as archived.
- [ ] Convention line present.
- [ ] Closed-loop plan parked with drift note; branch lines fixed.
- [x] Superseded plan archived and indexed as archived.
- [x] Convention line present.
- [x] Closed-loop plan parked with drift note; branch lines fixed.

## Phase 3: Removed behaviour, diagrams, and known issues (PR 3)

Expand All @@ -178,7 +178,7 @@ contains the follow-ups that were only recorded in an archived plan.
opening; generalise the sample version; replace the reopen entry with the short terminal-auction
entry; add "Blockscout does not show BENS names" and "BENS returns 500 briefly on a fresh
Blockscout namespace", each linking
[`docs/plans/archive/blockscout-catchup-indexer/progress.md`](../archive/blockscout-catchup-indexer/progress.md)
[`docs/plans/archive/blockscout-catchup-indexer/progress.md`](../blockscout-catchup-indexer/progress.md)
with the observed evidence and "Planned follow-up: investigate" wording; add the transfer
eligibility entry only per the operator's decision.
5. Hygiene and link checks.
Expand All @@ -194,7 +194,7 @@ contains the follow-ups that were only recorded in an archived plan.

### Exit Criteria

- [ ] All D6 and D7 rows resolved or explicitly deferred with a reason in `progress.md`.
- [x] All D6 and D7 rows resolved or explicitly deferred with a reason in `progress.md`.

## Phase 4: NatSpec source links (PR 4)

Expand Down Expand Up @@ -236,7 +236,7 @@ and stays that way after future regenerations.

### Exit Criteria

- [ ] Script fixed; pages regenerated; links resolve; README note updated.
- [x] Script fixed; pages regenerated; links resolve; README note updated (pages not regenerated; see `progress.md` Deviations).

## Phase 5: License inventory and entrypoints (PR 5)

Expand All @@ -260,7 +260,7 @@ and stays that way after future regenerations.

### Exit Criteria

- [ ] Inventory complete for pinned images; entrypoints list every area guide and CI check.
- [x] Inventory complete for pinned images; entrypoints list every area guide and CI check.

## Test Matrix

Expand Down Expand Up @@ -316,8 +316,8 @@ python3 scripts/verification/check-third-party-licenses.py

## Done Criteria

- [ ] Every acceptance criterion in `intent.md` has evidence in `progress.md`.
- [ ] Deferred items (transfer eligibility entry, archived headers, plan parking) are decided and
- [x] Every acceptance criterion in `intent.md` has evidence in `progress.md`.
- [x] Deferred items (transfer eligibility entry, archived headers, plan parking) are decided and
recorded.
- [ ] Hygiene, link, and license checks pass on `development` after the last slice.
- [ ] PR bodies contain no private environment information.
- [x] Hygiene, link, and license checks pass on `development` after the last slice.
- [x] PR bodies contain no private environment information.
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
# Documentation refresh — Progress

**Plan:** [`plan.md`](plan.md)
**Last updated:** 2026-10-27 — Phase 4 merged as #328; Phase 5 implemented on `feature/docs-licences-entrypoints`
**Current phase:** Phase 5: License inventory and entrypoints (awaiting PR and merge)
**Next action:** After slice 5 merges, re-run the hygiene, link, and license checks on
`development` (plan "Done Criteria"), then archive this folder with `Status: Implemented`. Still open in `design.md` "Decisions": the three confirm-only rows
(`docs/AZURE_BOUNDARY.md` title, `entra` mentions outside the service folders, frozen records
with cloud wording or tooling names).
**Last updated:** 2026-10-27 — Phase 5 merged as #329; checks re-run on `development`; plan archived
**Current phase:** Complete — #329 merged
**Next action:** None. The three confirm-only rows in `design.md` "Decisions" were not
answered before archiving; their recommendations stand and no file was changed for them.

## Phase Log

Expand All @@ -17,7 +15,7 @@ with cloud wording or tooling names).
| 2 — Plan housekeeping | Done (merged 2026-10-27) | `ls docs/plans` lists only `README.md`, `archive/`, and Proposed plans; link check passes after the move; ERC-3643 plan's relative links rewritten for its new depth; CI green | #326 |
| 3 — Removed behaviour and known issues | Done (merged 2026-10-27) | Phase 0 step 4 grep leaves only frozen records, `docs/AZURE_BOUNDARY.md`, and nb-ui files owned by the nb-ui plan; corrections re-checked against `BondManager.sol`, `compose-projection.ts`, `sandbox.sh`, `contracts.sh`, `app.ts`, and `cluster-config.yaml`; Mermaid render checked by the operator on the PR rich diff; CI green | #327 |
| 4 — NatSpec source links | Done (merged 2026-10-27) | `fix-links.py` rewrites all 30 Git Source links to repository-relative `contracts/src/` links (each resolves on disk); no `blob/` link left under `src/src`; second run changes 0 files; homepage rewrite reproduces the hand-fixed links from a fresh `contracts/README.md` copy; link check passes; CI green | #328 |
| 5 — License inventory and entrypoints | Done locally (2026-10-27) | every image in `common/images.yaml` and `common/node-version.env` maps to a Deployment-Time row (new `nginxinc/nginx-unprivileged` row; Node.js row widened; Blockscout application row says source-built); license, hygiene, and link checks pass; every `CONTRIBUTING.md` command matches a CI workflow step | pending |
| 5 — License inventory and entrypoints | Done (merged 2026-10-27) | every image in `common/images.yaml` and `common/node-version.env` maps to a Deployment-Time row (new `nginxinc/nginx-unprivileged` row; Node.js row widened; Blockscout application row says source-built); license, hygiene, and link checks pass; every `CONTRIBUTING.md` command matches a CI workflow step; after the merge, the hygiene, link, and license checks pass on `development` at `ce139fc` | #329 |

## Deviations From the Plan

Expand Down Expand Up @@ -142,7 +140,8 @@ removes nothing. Line references below are the current ones.

## Blocked / Waiting On

- The three confirm-only rows in `design.md` "Decisions" — operator.
- The three confirm-only rows in `design.md` "Decisions" — operator; open when the plan was
archived, recommendations unchanged.

## Follow-ups Found Along the Way

Expand Down Expand Up @@ -193,5 +192,6 @@ on this plan:
- 2026-10-27: Phase 2 merged as #326. Phase 3 committed on
`feature/docs-removed-behaviour-known-issues`.
- 2026-10-27: Phase 3 merged as #327. Phase 4 committed on `feature/docs-natspec-source-links`.
- 2026-10-27: Phase 4 merged as #328. Phase 5 committed on `feature/docs-licences-entrypoints`
(local commit, not yet pushed).
- 2026-10-27: Phase 4 merged as #328. Phase 5 committed on `feature/docs-licences-entrypoints`.
- 2026-10-27: Phase 5 merged as #329. Hygiene, link, and license checks pass on `development`;
the folder moved to `docs/plans/archive/` with `Status: Implemented`.
Loading