This push
- parent SYS-REQ-010 admin tenancy
- child SW-REQ restates FRETish
- Jaccard 0.92
Topic · requirements decomposition
Gist
Requirements decomposition is one parent shall split into owned software or interface children, not a restatement at a new folder. Proof previews the child files with proof req decompose SYS-REQ-010 --into software --component repo,server and fails the merge when a child copies the parent. NASA still writes the handbook. Jama still authors.
proof req decompose SYS-REQ-010 --into software --component repo,server
Keep Jama if you store the programme. Keep Wikipedia if you mean functional decomposition of a math relation. A preview is not a write, and a Jaccard pass is not a proof of the function.
01 · The child that added a folder
Three coverage checks ask whether the children mention every parent token. None of them asks whether the child said anything the parent did not.
On this install a system shall about admin tenancy was copied into specs/software/ with the same FRETish and the same output variable. decomposition_reviewed stayed quiet. obligation_decomposition_complete stayed quiet. cross_level_complete stayed quiet. The graph looked decomposed. The child added a prefix, not a condition.
spec_lint_decomposition_adds_refinement is the lint that notices that pattern. It scores the token-set Jaccard of the child against each parent named in traces.satisfies or parent. At 0.85, with no new output variable, it fails. The default command is a preview because this is a multi-file write. --write is the commit of the children, not the lint.
The derived-requirement H1 lives on derived requirements: a stakeholder criterion becomes a new SYS-REQ. This URL is the same shall split into owned children. The allocation H1 for system functions lives on ARP 4754A.
proof req decompose SYS-REQ-010 --into software --component repo,server
proof req decompose SYS-REQ-010 --into software --write
proof lint --check spec_lint_decomposition_adds_refinement
proof gaps specs/system --check decomposition
On this install the teaching miss is a copy-paste cascade: Jaccard 0.92, no new output, merge still green until the lint is in the gate.
02 · The exhibit
The shall still talks about admin tenancy. The last child repeated it. The lint will fail until a human adds a sub-condition, a new output, or collapses the extra level. Click the tabs.
This push
Finding
No new output variable. Coverage checks passed because every parent token is also a child token. The folder was the only change.
Copy-paste cascadeThis push
Still last week's parent. Still no sub-condition. Still no new output until someone refines, re-parents, or collapses the child.
Keep the SYS-REQProof
Same parent. A nested restatement, or a named child. Click the tabs.
| Invariant | What they do | What Proof does |
|---|---|---|
| NASA 4.3 logical decomposition | Creates detailed functional requirements so a programme can meet the parent need, and draws a system architecture. | Not the SE handbook. Proof does not run functional analysis or allocate hardware. Keep NPR if the board wants that pack. |
| Wikipedia functional decomposition | Resolves a functional relationship into constituent parts. DataCamp and ScienceDirect teach the same method. | Not this URL. Proof does not decompose a math function or a business-analysis process map. |
| Jama decomposition | Breaks a high-level object into lower-level objects that can be allocated to a component. | Jama still authors. Proof writes child YAML in the repo so CI can fail a restatement. |
| Derived requirements | A shall that was not in the stakeholder set, written from a testable criterion. | proof req derive on
derived requirements.
Different command. Not this H1. |
| Coverage of the parent | Children that mention every parent token, including a verbatim copy. | decomposition_reviewed and obligation_decomposition_complete still ask coverage. This lint asks for a new output or a narrower trigger. |
| Preview vs write | A multi-file edit applied on the first invocation. | Default is preview. --write is the second step. The lint still runs on what is already in the tree. |
| Jama / DOORS | A review comment that two objects look nested. | Jama still authors. IBM DOORS stays a mention on Proof vs Jama. |
Every copy-paste child admits three resolutions: refine it with a sub-condition or a new output variable, re-parent it if it drifted, or collapse it into the parent if the extra level adds nothing. They are alternatives, not steps. Do not add dummy variables to clear the Jaccard gate. That is vocabulary theater and lands as variable_orphans_clean.
proof req decompose SYS-REQ-010 --into software --component repo,server
proof lint --check spec_lint_decomposition_adds_refinement
proof gaps specs/system --check decomposition
proof audit --check obligation_decomposition_complete --verbose
We have not run Jama decomposition and Proof on the same frozen corpus, and we have not claimed this lint is NASA 4.3 or a proof of the Go. The loss is named, not scored.
03 · The honest loss
Proof fails when a child restates the parent, or when the children do not cover the parent. It does not invent the architecture you never wrote. Jama still authors.
The command does not decide that the child is consistent with the parent. That pair gate is
inconsistent requirements
and proof check consistency, not this URL. It does not turn a stakeholder criterion into a SYS-REQ. That H1 lives on
derived requirements.
It does not run FHA, PSSA, or fault trees. That named loss stays on
ARP 4754A.
The Jaccard threshold is configurable. A restatement under 0.85 with a new dummy output still looks refined and is still a human problem.
Default is preview. Forgetting --write leaves the tree unchanged. Jama still authors.
04 · Nearby questions
What is functional decomposition? Wikipedia, DataCamp, and ScienceDirect own that SERP as a method for splitting a function or a process. Same cluster as this URL only when the shalls are software requirements. Not a twin for math relations.
What are derived requirements? A shall that was not in the stakeholder set.
derived requirements
as proof req derive.
What is requirement allocation? Assigning a function to a system element. On this site that lives with ARP 4754A, not as a second H1 here.
What is a requirement hierarchy? Parent and child files in the graph. Same cluster as this URL.
What are stakeholder requirements? The STK layer. Derive writes SYS-REQs from their criteria. This command starts from a parent that already exists.
Is Proof a Jama alternative for nesting objects? No. Jama still authors. Proof fails the merge when a child restates the parent or when the children do not cover it.