Repository navigation
feat(check): NPR 7123.1D library support — NPR7123Pass, demo and design page - #1928
Open
devin-ai-integration[bot] wants to merge 2 commits into
Open
devin-ai-integration[bot] wants to merge 2 commits into
devin-ai-integration[bot] wants to merge 2 commits into
Conversation
Co-Authored-By: jason.han <hanhuijun@gmail.com>
…hangelog Co-Authored-By: jason.han <hanhuijun@gmail.com>
Contributor
Author
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
Brings NASA NPR 7123.1D into OpenSysML on top of the
NPR7123extension library (Open-MBEE/OpenSysML-Extensions-Library#20): a pass that audits a model against what the NPR states of the elements it classifies, a demo project, and the design page.internal/check/passes/npr7123.go—NPR7123Pass(constraint tier, sourcenpr7123, warnings only, registered afterMOSAPass). Library documents are skipped, a model that never uses the library gets no finding, and a workspace package merely namedNPR7123is not the vocabulary. Rules:npr7123-review-missing-entrance-or-success-criteria(§5.2.2.1, SE-34),npr7123-review-missing-minimum-product(§5.2.2.2 minimum products read from the library's@MaturityExpectation { required = true }cells, Appendix F order for "below maturity"),npr7123-compliance-missing-justification(Table H-1),npr7123-compliance-matrix-missing-requirement(every active id ofNPR7123::SERequirements, one finding per matrix),npr7123-semp-missing-process(§6.2.3, SE-58; a SEMP a review lists underreviewedProductsis a stand-in and is not audited). Nothing the NPR does not state is checked.internal/check/codes/table_lint.go+docs/reference/diagnostics.md(make diagnostics-catalogue) — the five codes with-explaintext;docs/project/constraint-manifest.jsonlists the pass as an extension.internal/doc/queryexec/memberpath.go— a member-path segment naming no declared member reads the element-valued metaclass feature of that name, sotype.documentationreads a usage's definition documentation (what the library'sComplianceRegisterneeds for the Requirement Statement column; theDocumentQueries::Columndoc upstream states it).examples/npr7123-demo/— the Dust Lidar Pathfinder: a SEMP tailoring all 17 processes, SRR/PDR/CDR with tailored Appendix G criteria and §5.2.2.2 products, a peer review, TRL 6, 61 compliance entries and aComplianceMatrix; README shows-validateand the rendered Table H-1; five deliberate gaps, one per code, each markeddoc /* Deliberate gap … */.docs/project/npr7123-library.md(nav besidemosa-library.md,docs/project/README.md), 🧩 rows indocs/project/spec-compliance.md,changes/unreleased/npr7123-library.added.md.Still to come (the PR stays a draft until then)
Re-pin to the upstream
mainmerge commit once the library PR merges:scripts/extension-libraries-pin.sh,scripts/sync-extension-libraries.sh,go generate ./internal/workspace/libs(stdlib.snapshot),make extension-libraries-pin-check, both pilot-differential baselines re-recorded and every movement adjudicated here (expected:opensysml-libraries16→17 files,examples56→57 for the demo, plus whatever the new library itself adds),tests/hygiene TestEngineContractCoversEveryBoundName, then the full AGENTS.md §2 gate. Until the re-pin the vendored library is absent from this branch, so the head cannot be green.Specification basis
NPR 7123.1D (NODIS, effective 2023-07-05): §3.2 (17 processes), §5.2.2.1–5.2.2.2 and Table 5-1 (reviews, minimum products, maturity), §6.2.3 (SEMP, SE-58), Appendix F, G, H. Not a SysML v2 conformance claim: the new
spec-compliance.mdrows carry the 🧩 Extension marker. The member-path change is an OpenSysML document-query extension (DocumentQueries::Columndoc).How it was verified
Against a local copy of the library (not committed; it enters through the re-pin):
go test ./internal/check/passes -run TestNPR7123(6 tests: each rule's positive and negative cases, the no-library and namesake-package cases);go test ./internal/check/codes;go test ./internal/doc/queryexec -run TestExecuteMemberPath../bin/sysml examples/npr7123-demo/npr7123-demo.sysml -validate: no errors, the five deliberate warnings (six findings);-validate -strict -warnings-as-errorsclean over the library;-render-documentof the compliance matrix renders Table H-1 with 61 rows.go test ./internal/workspace/model -run TestExamplesAnalyseCleanly,go test ./internal/workspace/libs -run 'TestStdlibConformance|TestExtensionsProject'.python3 scripts/check-doc-links.py(0 broken),python -m mkdocs build --strict,go test -C tools ./census/validation.go build ./...,go vet ./...,gofmt -l .clean.Checklist
make testandmake lintpass locally (full gate runs after the re-pin)changes/unreleased/<slug>.<section>.md, not as an edit toCHANGELOG.mdmake docs-countsrun if a gate count moved (after the re-pin)F4,K5) in the body, docs, or changelogLink to Devin session: https://nasa-jpl-demo.devinenterprise.com/sessions/cba835148b3c456ebb09399c64e84240
Open in Devin Desktop: https://nasa-jpl-demo.devinenterprise.com/desktop/session/cba835148b3c456ebb09399c64e84240?variant=devin
Requested by: @HuiJun