@andresmassello/uscha 1.93.1 → 1.94.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,73 @@
1
+ ---
2
+ # The machine-readable half of a stack ADR (ADR-040). One entry per component this ADR
3
+ # FIXES: runtime, web framework, ORM, database, Node, bundler, message broker, cache.
4
+ #
5
+ # component the name as your team says it
6
+ # version the EXACT version or minor line you are fixing -- not the major family
7
+ # eol end of OSS/LTS support, YYYY-MM-DD. `unknown` is allowed and reads as a
8
+ # NAMED absence ("no EOL cited"), never as a pass
9
+ # source the OFFICIAL page the date came from. Fetch it while you ask; never
10
+ # answer from memory
11
+ # checked the day you actually looked, YYYY-MM-DD
12
+ #
13
+ # `qa_ledger.py spec-check` reads this block and compares each `eol` against the
14
+ # `go_live` declared in the SPEC. It is ADVISORY: it never gates and never caps
15
+ # readiness. It measures that a date and a source were CITED -- it cannot verify that
16
+ # the source tells the truth. That check is the human's.
17
+ lifecycle:
18
+ - component: <runtime, e.g. the language runtime>
19
+ version: "<exact version or minor line>"
20
+ eol: YYYY-MM-DD
21
+ source: https://<official support page>
22
+ checked: YYYY-MM-DD
23
+ - component: <web framework>
24
+ version: "<exact version or minor line>"
25
+ eol: YYYY-MM-DD
26
+ source: https://<official support page>
27
+ checked: YYYY-MM-DD
28
+ - component: <database / store>
29
+ version: "<exact version or minor line>"
30
+ eol: unknown
31
+ source: https://<official support page>
32
+ checked: YYYY-MM-DD
33
+ ---
34
+ # ADR-NNN: <the stack this project fixes, and until when it is supported>
35
+
36
+ ## Status: Accepted
37
+
38
+ > The SPEC must declare the milestone this block is compared against, as frontmatter
39
+ > `go_live: YYYY-MM-DD` or a `**Go-live:** YYYY-MM-DD` line. Without it the whole
40
+ > dimension reads UNMEASURED, with the reason named.
41
+
42
+ ## Context
43
+ <Why this stack, and what already constrains it: reused legacy modules and the minimum
44
+ versions they support, the operator's development/observability tooling (consoles, APM,
45
+ admin UIs) — those constrain versions, so they are asked BEFORE the stack is fixed, not
46
+ after — and the expected operating life of the system beyond go-live.>
47
+
48
+ ## Alternatives
49
+ - A) <option> — support window <until when>, cost <…>
50
+ - B) <option> — support window <until when>, cost <…>
51
+
52
+ ## Decision
53
+ - <The exact versions fixed, one line each, with the date they stop being supported.>
54
+ - **Upgrade policy**: <who approves a major upgrade, and when it is scheduled>. A new
55
+ dependency is never added without explicit approval (the dev-loop's "zero new
56
+ dependencies without approval" rule).
57
+
58
+ ## Reasons
59
+ - <why this line, and why its support window covers the operation, not just the launch>
60
+
61
+ ## Consequences
62
+ + <the good>
63
+ - <the cost: the upgrade already on the calendar, and who owns it>
64
+
65
+ ## Implementation Plan
66
+ - Affected paths: <build files, lockfiles, CI images, base images>
67
+ - Tests: <the suite that proves the fixed versions actually run>
68
+
69
+ ## Verification
70
+ - [ ] Every component this ADR fixes carries a `version`, an `eol` and the `source` it
71
+ was read from, checked on a named day.
72
+ - [ ] No component's `eol` falls before the SPEC's `go_live`; where one does, the upgrade
73
+ is scheduled BEFORE the build, not after.
@@ -8,6 +8,11 @@ Format: Status (proposed/accepted/experiment/deprecated/superseded) · Context
8
8
  Decision · Consequences · Implementation Plan (affected paths, patterns, tests) ·
9
9
  Verification (checkboxes).
10
10
 
11
+ The ADR that fixes the stack has a template of its own, `ADR-stack-template.md`: it carries a
12
+ machine-readable `lifecycle:` frontmatter block (component / version / eol / source / checked)
13
+ that `spec-check` compares against the SPEC's declared `go_live` (ADR-040). Advisory: it reports,
14
+ it never gates.
15
+
11
16
  `Status: Experiment` is for a bounded, reversible hypothesis that needs real feedback.
12
17
  It must include: Hypothesis, Feedback Signal, Review By or Review Trigger, Promote
13
18
  Criteria, and Rollback / Supersede Criteria. Missing/expired metadata is advisory in
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.93.1",
2
+ "version": "1.94.1",
3
3
  "project": null,
4
4
  "defaults": {
5
5
  "coverage_threshold": 60,