aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--todo.org69
1 files changed, 24 insertions, 45 deletions
diff --git a/todo.org b/todo.org
index 1ec89d0..08bc519 100644
--- a/todo.org
+++ b/todo.org
@@ -799,14 +799,14 @@ Each item below is a one-line summary of a sub-TODO further down. Tick the box w
- [ ] [#B] =brainstorm=: timebox + research/source rules for high-stakes designs
**** Architecture
-- [ ] [#B] =arch-decide=: timeless examples, drop unverifiable claims
-- [ ] [#B] =arch-decide=: standardize statuses + immutability language
-- [ ] [#B] =arch-design=: threat modeling + privacy/compliance as first-class inputs
-- [ ] [#B] =arch-design=: separate paradigms from tactical patterns
-- [ ] [#B] =arch-document=: arc42/Q42 quality scenarios
-- [ ] [#B] =arch-document=: staleness + ownership metadata for generated docs
-- [ ] [#B] =arch-evaluate=: confidence levels for framework-agnostic findings
-- [ ] [#B] =arch-evaluate=: report skipped tool checks explicitly
+- [X] [#B] =arch-decide=: timeless examples, drop unverifiable claims
+- [X] [#B] =arch-decide=: standardize statuses + immutability language
+- [X] [#B] =arch-design=: threat modeling + privacy/compliance as first-class inputs
+- [X] [#B] =arch-design=: separate paradigms from tactical patterns
+- [X] [#B] =arch-document=: arc42/Q42 quality scenarios
+- [X] [#B] =arch-document=: staleness + ownership metadata for generated docs
+- [X] [#B] =arch-evaluate=: confidence levels for framework-agnostic findings
+- [X] [#B] =arch-evaluate=: report skipped tool checks explicitly
**** C4 modeling
- [X] [#A] =c4-analyze= + =c4-diagram=: notation/output fallback (not draw.io-only)
@@ -969,58 +969,37 @@ claims about markets, regulations, tools, vendors, or current APIs require
fresh sources. The design doc should distinguish researched facts from
assumptions.
-*** TODO [#A] =arch-decide=: make examples technically timeless and avoid unverifiable claims
+*** 2026-05-22 Fri @ 14:59:32 -0500 Made arch-decide examples timeless + required citations
-The sample ADRs include claims such as MongoDB lacking ACID for multi-document
-transactions "at decision time." Examples age and can teach stale facts. Replace
-with either clearly dated examples or domain-neutral placeholders, and require
-references for real technical claims in generated ADRs.
+Dated the MongoDB multi-document-transaction example (scoped to 2024-01) with a backing reference, and added a "Cite, don't assert" Do: every concrete technical claim about a tool/version/platform carries a link, doc, version, or "checked YYYY-MM" date, or gets a domain-neutral placeholder — so unsourced "X can't do Y" doesn't rot into stale fact.
-*** TODO [#A] =arch-decide=: standardize statuses and immutability language
+*** 2026-05-22 Fri @ 14:59:32 -0500 Standardized arch-decide ADR statuses + immutability rule
-The skill mixes Accepted, Decided, Deprecated, Superseded, Rejected, and "Not
-Accepted." Pick a canonical status set and state that accepted ADR content is
-not edited except for status/link metadata; changed decisions get new ADRs that
-supersede old ones.
+Declared a canonical five-status set (Proposed, Accepted, Rejected, Deprecated, Superseded) with an explicit "no synonyms" line, and spelled out the immutability rule in the Don'ts: an accepted ADR's body is frozen, only status/link metadata changes, a changed decision gets a new superseding ADR and the old one stays as the historical record.
-*** TODO [#A] =arch-design=: add threat modeling and privacy/compliance as first-class design inputs
+*** 2026-05-22 Fri @ 14:59:32 -0500 Added Trust/Data/Compliance phase to arch-design
-Security appears as one quality attribute, but architecture design should also
-ask about trust boundaries, data classification, abuse cases, privacy
-constraints, compliance evidence, and operational ownership. These influence
-architecture early and should not wait for =security-check=.
+Added a new Phase 4 (Trust, Data, and Compliance) before the paradigm shortlist: trust boundaries, data classification, abuse/misuse cases, privacy constraints, compliance evidence, and operational ownership — surfaced early so the architecture is drawn around them, not retrofitted by a downstream =security-check=. Threaded into the workflow list, brief template (new §6), review checklist, and anti-patterns.
-*** TODO [#A] =arch-design=: separate architecture paradigms from tactical patterns
+*** 2026-05-22 Fri @ 14:59:32 -0500 Split paradigms from tactical patterns in arch-design
-The candidate table mixes paradigms (modular monolith, microservices,
-event-driven) with tactical or partial patterns (DDD, CQRS, event sourcing).
-Revise the matrix so candidates can compose patterns rather than treating each
-as a mutually exclusive architecture choice.
+Split Phase 5's single mixed table into Step 1 (pick one paradigm: monolith/microservices/layered/event-driven/serverless/pipeline/space-based) and Step 2 (compose tactical patterns: DDD, hexagonal, CQRS, event sourcing — several or none, often per-module), with composition examples and an anti-pattern against treating DDD/CQRS as alternatives to a paradigm. Recommendation + brief now name a paradigm plus composed patterns.
-*** TODO [#A] =arch-document=: strengthen quality scenarios using arc42/Q42 structure
+*** 2026-05-22 Fri @ 14:59:32 -0500 Expanded arch-document quality scenarios to the Q42 six-part template
-Section 10 currently says "Under [condition], the system should [response]
-within [measure]." Expand to a compact quality-scenario template: source,
-stimulus, environment, artifact, response, response measure. This better
-matches architecture-quality practice and makes requirements testable.
+Replaced §10's thin "Under [condition]..." template with the arc42/Q42 six-part structure (source, stimulus, environment, artifact, response, response measure), each glossed, with the cart-checkout example rewritten across all six parts. A one-line prose form stays acceptable once all six parts are recoverable.
-*** TODO [#A] =arch-document=: add staleness and ownership metadata to generated docs
+*** 2026-05-22 Fri @ 14:59:32 -0500 Added staleness/ownership metadata to arch-document output
-arc42 docs are living documents. Add owner, source commit/date, review cadence,
-and "known stale when..." notes per section or in the README so generated docs
-do not become authoritative after the code has moved on.
+Added a per-section metadata block (owner, generated-against SHA + date, review cadence, "stale-when" conditions) as an HTML-comment header plus a visible Doc-status note, with field-fill guidance, and a whole-document Doc Status table replacing the README's "Last Updated" stub. Wired into the review checklist and an "Undated docs" anti-pattern.
-*** TODO [#A] =arch-evaluate=: add confidence levels for framework-agnostic findings
+*** 2026-05-22 Fri @ 14:59:32 -0500 Added confidence levels to arch-evaluate findings
-Claude-read import graphs and public API comparisons can be incomplete in large
-or dynamic languages. Add confidence/provenance per finding and require "not
-fully checked because..." when scale or dynamic imports limit certainty.
+Added a "Confidence and Provenance" subsection: every framework-agnostic finding carries High/Medium/Low + how it was determined, with a required "Not fully checked because..." note when scale, runtime imports, reflection, or dynamic dispatch cap certainty. Updated the example findings and review checklist; a finding with no note now asserts a full read.
-*** TODO [#A] =arch-evaluate=: report skipped tool checks explicitly
+*** 2026-05-22 Fri @ 14:59:32 -0500 Made arch-evaluate report skipped tool checks explicitly
-The workflow says skip unconfigured language-specific tools silently, but the
-review checklist also wants checks run. For audit usefulness, list detected
-languages and "tool not configured" entries under Info instead of silent skips.
+Replaced "skip silently" with explicit reporting: for each detected language whose tool isn't configured or can't run, emit an Info "tool not configured / not run" finding (with an example) so the audit shows what was and wasn't verified. A check that didn't run no longer reads as a pass. Updated workflow step 4 and the review checklist.
*** 2026-05-22 Fri @ 14:51:37 -0500 Added notation/output fallback to c4-analyze + c4-diagram