Skip to content

Commit ad1bcdc

Browse files
committed
docs(sysprom): record decisions and changes for issues #22, #23, #25
DEC48 + CHG46: Add external reference management commands (issue #22) DEC49 + CHG47: Expand endpoint type support — add milestone to depends_on sources, add role to constrained_by and governed_by sources (issues #23 and #25)
1 parent 72d0c3e commit ad1bcdc

3 files changed

Lines changed: 100 additions & 0 deletions

File tree

.SysProM.json

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3990,6 +3990,58 @@
39903990
"src/operations/validate.ts,tests/validate.unit.test.ts"
39913991
],
39923992
"type": "change"
3993+
},
3994+
{
3995+
"context": "Issue #22 reported that users must edit JSON directly to manage external references. These references are critical for linking nodes to source documents, ADRs, standards, and code files.",
3996+
"id": "DEC48",
3997+
"name": "CLI: manage external references",
3998+
"options": [
3999+
{
4000+
"description": "Add update add-ref and update remove-ref subcommands",
4001+
"id": "OPT-A"
4002+
},
4003+
{
4004+
"description": "Create a new manage-refs command",
4005+
"id": "OPT-B"
4006+
}
4007+
],
4008+
"rationale": "Adding subcommands follows the existing update command pattern, is simpler, and maintains consistency with other mutation operations.",
4009+
"selected": "OPT-A",
4010+
"type": "decision"
4011+
},
4012+
{
4013+
"id": "CHG46",
4014+
"name": "Add external reference management commands",
4015+
"scope": [
4016+
"src/operations/add-external-reference.ts,src/operations/remove-external-reference.ts,src/cli/commands/update.ts"
4017+
],
4018+
"type": "change"
4019+
},
4020+
{
4021+
"context": "Issues #23 and #25 reported missing node type support in relationship definitions. Milestones couldn't use depends_on, and roles couldn't use constrained_by or governed_by.",
4022+
"id": "DEC49",
4023+
"name": "Expand relationship endpoint type support",
4024+
"options": [
4025+
{
4026+
"description": "Add milestone to depends_on sources, and role to constrained_by and governed_by sources",
4027+
"id": "OPT-A"
4028+
},
4029+
{
4030+
"description": "Create a mapping configuration for endpoint types",
4031+
"id": "OPT-B"
4032+
}
4033+
],
4034+
"rationale": "Direct schema updates are simple, maintainable, and follow the existing pattern of endpoint type validation.",
4035+
"selected": "OPT-A",
4036+
"type": "decision"
4037+
},
4038+
{
4039+
"id": "CHG47",
4040+
"name": "Extend endpoint type support for relationships",
4041+
"scope": [
4042+
"src/endpoint-types.ts"
4043+
],
4044+
"type": "change"
39934045
}
39944046
],
39954047
"relationships": [
@@ -5142,6 +5194,16 @@
51425194
"from": "CHG45",
51435195
"to": "DEC47",
51445196
"type": "implements"
5197+
},
5198+
{
5199+
"from": "CHG46",
5200+
"to": "DEC48",
5201+
"type": "implements"
5202+
},
5203+
{
5204+
"from": "CHG47",
5205+
"to": "DEC49",
5206+
"type": "implements"
51455207
}
51465208
]
51475209
}

.SysProM/CHANGES.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -798,3 +798,17 @@ Scope:
798798
Scope:
799799
- src/operations/validate.ts,tests/validate.unit.test.ts
800800

801+
### CHG46 — Add external reference management commands
802+
803+
- Implements: [DEC48](./DECISIONS.md#dec48--cli-manage-external-references)
804+
805+
Scope:
806+
- src/operations/add-external-reference.ts,src/operations/remove-external-reference.ts,src/cli/commands/update.ts
807+
808+
### CHG47 — Extend endpoint type support for relationships
809+
810+
- Implements: [DEC49](./DECISIONS.md#dec49--expand-relationship-endpoint-type-support)
811+
812+
Scope:
813+
- src/endpoint-types.ts
814+

.SysProM/DECISIONS.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -958,3 +958,27 @@ Chosen: OPT-A
958958

959959
Rationale: Lifecycle-aware validation is simpler, requires no schema changes, and aligns with the semantic meaning of undecided lifecycle states.
960960

961+
### DEC48 — CLI: manage external references
962+
963+
Context: Issue #22 reported that users must edit JSON directly to manage external references. These references are critical for linking nodes to source documents, ADRs, standards, and code files.
964+
965+
Options:
966+
- OPT-A: Add update add-ref and update remove-ref subcommands
967+
- OPT-B: Create a new manage-refs command
968+
969+
Chosen: OPT-A
970+
971+
Rationale: Adding subcommands follows the existing update command pattern, is simpler, and maintains consistency with other mutation operations.
972+
973+
### DEC49 — Expand relationship endpoint type support
974+
975+
Context: Issues #23 and #25 reported missing node type support in relationship definitions. Milestones couldn't use depends_on, and roles couldn't use constrained_by or governed_by.
976+
977+
Options:
978+
- OPT-A: Add milestone to depends_on sources, and role to constrained_by and governed_by sources
979+
- OPT-B: Create a mapping configuration for endpoint types
980+
981+
Chosen: OPT-A
982+
983+
Rationale: Direct schema updates are simple, maintainable, and follow the existing pattern of endpoint type validation.
984+

0 commit comments

Comments
 (0)