Skip to content

docs: align the inception NFR category list with core (observability) - #761

Open
warren830 wants to merge 1 commit into
awslabs:v2from
warren830:docs/issue-398-nfr-observability
Open

docs: align the inception NFR category list with core (observability)#761
warren830 wants to merge 1 commit into
awslabs:v2from
warren830:docs/issue-398-nfr-observability

Conversation

@warren830

Copy link
Copy Markdown

Summary

Closes the last gap from #398. The substance of that issue — observability missing from the NFR category set — was fixed on v2 by merged PR #404 ("feat: first-class observability artifacts across NFR stages", 4e8f087c), which established the canonical five categories and the observability-requirements → observability-design → monitoring-design artifact chain. The issue was never closed, and the docs reference still documents the pre-#404 set.

Refs #398. Worth closing that issue once this lands — the reporter (@jeromevdl) authored the fix themselves and never got an acknowledgement.

Changes

docs/reference/04-stages/inception.md, two stale lists:

  • Completeness Analysis, dimension 2 — omitted observability.
  • The requirements.md output description — omitted both reliability and observability, and did not carry core's stable NFR{n} ID instruction.

Both now mirror core/aidlc-common/stages/inception/requirements-analysis.md (lines 94 and 158) verbatim.

User experience

A reader following the stage reference sees the same five NFR categories the stage actually produces. Previously the docs said four (or three), while nfr-requirements.md emitted five and stage-graph.json carried observability-requirements.

Why this drifted

docs/ is hand-authored and not projected into dist/, so bun scripts/package.ts --check never sees it and no test asserts these lines. That is why #404 could correct all four core/ stage files plus all 7 harness trees and still leave the reference behind.

I swept the rest of docs/ for the same pattern with a multiline-aware match (the lists wrap, so a plain grep gives false hits): construction.md and agents/architect-agent.md already carry the full five. This was the only stale file.

Checklist

  • I have read the contributing guidelines
  • I have performed a self-review of my code
  • I have tested my changes
  • I have documented my changes (the change is documentation)

Test Plan

Docs-only, 3 lines. No version bump, CHANGELOG entry, or README badge — the AGENTS.md changelog policy exempts pure doc sweeps ("Pure doc sweeps, internal refactors, and test-only changes do NOT bump"), matching merged precedent (#733, #693, #651).

Verified locally (bun 1.3.11; CI pins 1.3.14):

bun scripts/package.ts --check          # exit 0 — confirms docs/ is not a projected surface
bun run check                           # exit 0
bun tests/run-tests.ts --unit --filter t239   # PASS (documentation parity)
bun tests/run-tests.ts --unit --filter t174   # PASS (docs legacy-refs gate)
bun tests/run-tests.ts --smoke --unit --parallel 8

Suite result is byte-identical to the pre-change baseline on this branch point: same 2 failing files (t248-codekb-scope-diff, t255-workspace-sync — unrelated; t255's are ~5s timeouts on live git remote queries and look environmental here), same 9 assertions, same 6038 total. Added lines stay within the file's ~76-column wrap convention (72/32/72/76).

The docs.yml build job will run on this PR since it touches docs/.

Acknowledgment

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.

PR awslabs#404 made observability a first-class NFR category across the NFR
stages, but docs/reference/04-stages/inception.md still documented the
pre-awslabs#404 set. Two lists were stale:

- Completeness Analysis dimension 2 omitted observability.
- The requirements.md output description omitted BOTH reliability and
  observability, and did not carry core's stable `NFR{n}` ID instruction.

Both now mirror core/aidlc-common/stages/inception/requirements-analysis.md
verbatim. `docs/` is hand-authored and not projected into dist/, so
package.ts --check never caught the drift and no test asserts these lines.

Docs-only: no version bump per the AGENTS.md changelog policy.

Refs awslabs#398
@apackeer

Copy link
Copy Markdown
Contributor

Warren, this PR corrects the two remaining stale NFR descriptions in the
Inception reference: observability is restored to the completeness checklist,
and the requirements.md description now includes reliability, observability,
and stable NFR{n} IDs.

Part A - Direction: sound. I verified the current origin/v2 base still
has both documentation omissions while the canonical stage in core/ already
implements the five-category behavior. docs/reference/ is the right
hand-authored layer, no generated dist/ files are touched, and the one-file
scope is proportionate.

Part B - Review: one P2 at
docs/reference/04-stages/inception.md:447. The patch adds the stable
NFR{n} requirement to the NFR bullet, but leaves the adjacent Functional
requirements bullet without core's equally mandatory stable FR{n} and
FR{n}.{m} rules
(core/aidlc-common/stages/inception/requirements-analysis.md:157). Core
defines both families as permanent traceability keys. Before this change
neither reference bullet mentioned IDs; afterward the page implies that only
NFRs receive stable identifiers. Please add the FR ID clause to line 447 (my
preference), or drop the NFR ID clause if you want to keep this strictly to the
issue-398 category correction.

The category fixes themselves are correct. The pure-doc version-bump exemption
is applied correctly, there are no test-number or stale-reference concerns,
and bun scripts/package.ts --check passes. Both focused t174|t239 runs
passed, including tests/logs/2026-08-14T09-04-26Z-p2/summary.txt,
Result: PASS.

Part C - UX impact: this corrects what reference readers are told; it does
not change commands, flags, prompts, stage names, errors, defaults, generated
content, or runtime behavior. The five-category wording is consistent with the
rest of the NFR documentation, but the traceability wording should describe
FR and NFR IDs together so readers receive the complete contract.

Request changes for the FR ID omission above.

@apackeer apackeer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes for the FR ID documentation omission described in my review comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants