v0.18.0 - Add System Requirements Specification (SYSRS) Domain
Added
-
New
sysrs(System Requirements Specification) domain: an aggregator
document type that ties together existinggol/prb/qa/uc/req/
rsk/dec/adr/vcrartifacts into one coherent, navigable
specification via per-section, type-tagged cross-reference lists (e.g.
### Goalsaccepts onlyGOLbullets,## DecisionsacceptsDECor
ADR, and the nine## RequirementsH3s plus six## Other CharacteristicsH3s each accept onlyREQ) rather than duplicating
their content. Dispatch-only from day one, with noupdate_sysrs/
set_status_sysrstools of its own — whole-body/line-range updates,
status changes, classification changes, and deletions all go through
the existing genericupdate/set_status/set_classification/
deletetools (type="sysrs"). Ships 7 tools (create_sysrs,
parse_sysrs,list_sysrs,get_sysrs,get_sysrs_example,
get_sysrs_template,validate_sysrs), 3 resources
(specmgr://sysrs/schema,specmgr://sysrs/example,
specmgr://sysrs/template), and 2 prompts (create_sysrs,
update_sysrs) (GitHub issue #32). -
New
specmgr://configresource: reports, for all twelve document
domains, the resolved absolute base directory and whether the domain's
SPECMGR_*_DIRenvironment variable is explicitly set, so a client can
self-diagnose a working-directory-relative base-directory
misconfiguration. Only the twelve known env var names are ever read
(neveros.environwholesale), so no unrelated secret is ever
disclosed. The "Add to OpenCode" README example now shows two
alternatives for pinning the resolved base directory —uv/uvx's
--directoryflag, or explicitSPECMGR_*_DIRenvironment variables in
the MCP client config — and documents the previously-missing
SPECMGR_FEAT_DIRvariable (GitHub issue #51). -
create_uc/update_ucMCP prompts for theuc(Use Case) domain,
mirroring thereqdomain's prompt pattern and including
set_classificationguidance (GitHub issue #57).
Fixed
format_text()/format_markdown_document()(models/md/_markdown.py),
and transitively every domain'sparse_<d>/create_<d>/validate_<d>/
updatepath plus themdformatCLI command and MCP tool, now render a
thematic break (---,***,___, or any other CommonMark-valid
variant) as a literal---instead ofmdformat's hardcoded 70-character
underscore line ("_" * 70, not otherwise configurable upstream — see
hukkin/mdformat#69). Fixed by wiring the third-party
mdformat-simple-breaksplugin (pinned exactly,==0.1.0) into the
sharedmdformat.text(...)call via itsmdformat.parser_extension
entry point (GitHub issue #47).