Repository navigation
feat: add NPR7123, the NASA NPR 7123.1D systems-engineering library - #20
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
Processes, life-cycle reviews with the Appendix G criteria, work-product maturity (Table 5-1, Appendix F), TRLs, the 62 active SE requirements and the Appendix H compliance matrix. Document Column paths resolve a metaclass-feature segment (type.documentation) so the matrix reads each requirement's statement from its definition. 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)".
|
Contributor
Author
There was a problem hiding this comment.
Devin Review found 1 potential issue.
⚠️ 1 issue in files not directly in the diff
⚠️ Public keyword definitions lack documentation
The 49 public keyword definitions, starting with TechnicalProcessMetadata, have no doc blocks. The repository requires documentation for every public definition.
Co-Authored-By: jason.han <hanhuijun@gmail.com>
4 of 6 tasks
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.
Summary
Adds
libraries/NPR7123.sysml, a NON-NORMATIVE vocabulary for NASA NPR 7123.1D (NODIS, revision D, effective 2023-07-05), shaped likeMOSA/OOSEM: every artefact is a definition specialising its native SysML type, an abstract base usage subsetting the native base usage, and aSemanticMetadatakeyword applying both (#stakeholderExpectationsDefinition action elicit;,#lifeCycleReview action pdr { :>> kind = ReviewKind::PDR; }). The NPR's own words, names and numbering are kept throughout.What it models:
TechnicalProcess :> Actionwithgroup : TechnicalProcessGroup(systemDesign, productRealization, technicalManagement),requirementId,section,tailoring, and one definition + base usage + keyword per common technical process (17, SE-07…SE-23), each doc carrying the NPR's "is used to…" text.TechnicalReview :> Action(entrance/success criteria as requirement usages,reviewedProducts, RFA/RID/actionitems),LifeCycleReview(kind : ReviewKind,phase,keyDecisionPoint),PeerReview,KeyDecisionPoint, a thinLifeCyclePhase(the doc says NPR 7120.5 owns the life cycles),ReviewKindwith every Appendix G review by acronym, andReviewCriteria: the 411 entrance/success criteria of Tables G-1…G-21 asrequirement defs (EntranceCriterion/SuccessCriterion,numberas in the table), with the G.1.2 tailoring expectation written into the docs.WorkProduct :> Itemwithmaturity : WorkProductMaturity(Initial, Final, Update; Preliminary, Baseline, Approve; plusapproach, the one Table 5-1 cell Appendix F does not define), one item definition per Table 5-1 product, each carrying one@MaturityExpectation { review; maturity; required; requirementId }per table cell. Table 5-1 is an image in the PDF; it was transcribed by hand from the rendered page 39 (21 products × 10 reviews; the 24**cells are exactly the §5.2.2.2 minimum products SE-35…SE-48, SE-51…SE-56, SE-66…SE-69).TechnologyReadinessLevel1–9 with the definition and success criteria text, and a@TechnologyReadinessannotation.SEMP :> Document, WorkProduct(a project nests one usage per process under it; SE-58).TechnicalAuthority(+TechnicalAuthorityKind),@Waiver,@Deviation.SERequirementsholds the 62 active[SE-nn]asrequirement def <'SE-nn'> SEnn :> SERequirement(doc = statement;id,section,rationalefrom Table H-1). SE-01…05, SE-49, SE-50 are not modelled; the package doc cites Appendix J. Table H-1 prints SE-59…SE-64 in one row, so each of those gets its statement from §6.2.5–6.2.9 and the part of the shared rationale that speaks to it.ComplyKind(FC/T/NA codes),@Compliance { comply; justification },ComplianceEntries/ComplianceRegisterqueries andComplianceMatrix :> Documentgenerate Table H-1 with its six columns from a project model;LifeCycleReviewRegister,ComplianceMatrixView,LifeCycleReviewViewround it out.ParametersOfInterestMetadata(re-exported, as MOSA does; the standard library has#moe/#mop, notpm);ModelingMetadatais re-exported forStatusKind.DocumentQueries.sysml: theColumndoc gains one clause — a member-path segment naming no member reads the element-valued metaclass feature of that name, sotype.documentationreads a usage's definition documentation.ComplianceRegisterrelies on it for the Requirement Statement column (OpenSysML implements it in its NPR7123 PR; no declaration changes).What OpenSysML will bind to (engine-contract.json, 14 entries, sorted)
NPR7123::Compliance(metadata:comply,justification),NPR7123::ComplianceMatrix,NPR7123::ComplyKind,NPR7123::EntranceCriterion,NPR7123::LifeCycleReview,NPR7123::MaturityExpectation(metadata:review,maturity,required,requirementId),NPR7123::ReviewKind,NPR7123::SEMP,NPR7123::SERequirement,NPR7123::SERequirements(package),NPR7123::SuccessCriterion,NPR7123::TechnicalProcess,NPR7123::WorkProduct,NPR7123::WorkProductMaturity— consumerinternal/check/passes/npr7123.go, theNPR7123Pass(review without entrance/success criteria; §5.2.2.2 minimum product absent or below maturity; tailored/NA compliance without justification; compliance matrix missing an active SE requirement; SEMP not addressing all 17 processes).Semver
MINOR: a new library; no existing library or contract entry changes (DocumentQueries changes documentation only).
Gates
./scripts/validate-libraries.sh(pilot 2026-08, 0.62.0): 0 errors, 0 warnings; nothing added tovalidation/allowed-warnings.txt../scripts/check-readme-table.sh: README row added, portability "Any SysML v2 tool"../scripts/write-project-meta.py:.meta.jsonregenerated (17 units);.project.jsonunchanged (no new OMG archive)../scripts/check-engine-contract.sh --base origin/main: pass.go test ./internal/workspace/libs -run 'TestStdlibConformance|TestExtensionsProject'ok;sysml -validate -strict -warnings-as-errorsclean over the library and theexamples/npr7123-demomodel; the demo'sComplianceMatrixrenders 61 rows (one SE left out on purpose).Link 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