Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .ddd/seams/seam-rust-product-cli-src-commands-registry-rs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
format: 2
id: seam/rust/product-cli-src-commands-registry-rs
boundary: contract surface of product-cli/src/commands/registry.rs
verdict_knowledge: 'CLI users learn minting an instance and reading one are separate verbs. generate is local and complete: it writes a tree, records a birth commit, prints the two commands that would publish it, and pushes nothing — publishing is a separate act with a different authority. check exits non-zero on any finding and reports an unreadable shape under its own heading, distinctly from data violating a shape, so a fail-closed run is never read as a violated constraint.'
contract_location: product-cli/src/commands/registry.rs
obligations: []
metadata: {}
bindings:
- symbol: RegistryCommands
file: product-cli/src/commands/registry.rs
before: absent
after: sha256:670be017fc201f79a63196716a6f1ecd48c97a89b72906fe8d75119fbab2ce0c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:41ac06715c193bfe663c2b267f0eec3d3d4fb433c9460bc89197fa83c2efa355
- symbol: Check
file: product-cli/src/commands/registry.rs
before: absent
after: sha256:670be017fc201f79a63196716a6f1ecd48c97a89b72906fe8d75119fbab2ce0c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:849a768e6dce9250f5b223a58ecc0430a4b05f5c162025bfa35ffa9104c1a1cb
- symbol: Generate
file: product-cli/src/commands/registry.rs
before: absent
after: sha256:670be017fc201f79a63196716a6f1ecd48c97a89b72906fe8d75119fbab2ce0c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:a6243953634cd26af54fe92ea9798ea3e4e941c8e177ebf68cc2510e77c9c833
14 changes: 14 additions & 0 deletions .ddd/seams/seam-rust-product-cli-src-commands-root-enum-rs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
format: 2
id: seam/rust/product-cli-src-commands-root-enum-rs
boundary: contract surface of product-cli/src/commands/root_enum.rs
verdict_knowledge: 'CLI users learn product registry is where ground-registry instances are minted from the versioned template — a G-track surface that reads and writes no .product graph in any repository, and therefore takes no --product argument and belongs to no session phase.'
contract_location: product-cli/src/commands/root_enum.rs
obligations: []
metadata: {}
bindings:
- symbol: Registry
file: product-cli/src/commands/root_enum.rs
before: sha256:9ee4cae354a6261698f961528f3b55c036af90eabdb3e81f47399b7cf892e53d
after: sha256:e9bdd37f3d13329814aee927c1163934cfe7ac1ab5550f86efac7b2c85acf57e
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:a375b19f6f7bf47323d32d659d62fcc44abf2ccc886d06db4efb99e0d2638220
14 changes: 14 additions & 0 deletions .ddd/seams/seam-rust-product-core-src-lib-rs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
format: 2
id: seam/rust/product-core-src-lib-rs
boundary: contract surface of product-core/src/lib.rs
verdict_knowledge: 'Consumers learn product-core carries ground-registry generation alongside the framework graph, and that the surface is the acts — plan, apply, check. The modules beneath are crate-internal: how the template is rendered, and how the gate is spelled, are not part of the contract.'
contract_location: product-core/src/lib.rs
obligations: []
metadata: {}
bindings:
- symbol: registry
file: product-core/src/lib.rs
before: sha256:72be978c89ffd58d92fc0b8728def0de717cd63e1e6d0281c706a52410dcd6ee
after: sha256:3d1bb8cb6b4faac3f084b8a8cf11ebed9db7b7ac768b8ca9c27029c08c73fd45
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:0117c3fcad2d4b1f681bf521bacfa16bfead015df594bde1e4bcc5af213e8bb3
50 changes: 50 additions & 0 deletions .ddd/seams/seam-rust-product-core-src-registry-apply-rs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
format: 2
id: seam/rust/product-core-src-registry-apply-rs
boundary: contract surface of product-core/src/registry/apply.rs
verdict_knowledge: 'A caller learns applying a plan is local and total: the tree is written into a target that must be empty, a repository is initialised, and one birth commit is recorded whose identity, dates and config come from the parameters alone — so the same plan yields the same commit id. What it will not do is publish: no remote is configured and nothing is pushed. GenerationReport.publish carries the commands a human would run, and COMMIT_EMAIL is an RFC 2606 .invalid address stating that no email identity was chosen — the agent is the generated-by parameter.'
contract_location: product-core/src/registry/apply.rs
obligations: []
metadata: {}
bindings:
- symbol: COMMIT_EMAIL
file: product-core/src/registry/apply.rs
before: absent
after: sha256:48cce0a066ea66fd13f0518fd5492df3ccd71a901fe9c00363918e28e9818bc6
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:deaf58930629cbc80c9b05443b966a6a866bbe0892173289fc352ee0608282f3
- symbol: apply_generation
file: product-core/src/registry/apply.rs
before: absent
after: sha256:48cce0a066ea66fd13f0518fd5492df3ccd71a901fe9c00363918e28e9818bc6
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:bf83db200425e60ce4b34dc38b0af0700c6e556e19e4e591d16c86a432711c67
- symbol: GenerationReport
file: product-core/src/registry/apply.rs
before: absent
after: sha256:48cce0a066ea66fd13f0518fd5492df3ccd71a901fe9c00363918e28e9818bc6
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:c5deea6ce6f0e7aa2b9615c1cb3dee56abbc05f8e41af3f1fb3b8023a3bc0705
- symbol: commit
file: product-core/src/registry/apply.rs
before: absent
after: sha256:48cce0a066ea66fd13f0518fd5492df3ccd71a901fe9c00363918e28e9818bc6
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:4621d8cdc9e25c3744721cc4f187a33541395b56a03112cb7039d06ec40f6e01
- symbol: files
file: product-core/src/registry/apply.rs
before: absent
after: sha256:48cce0a066ea66fd13f0518fd5492df3ccd71a901fe9c00363918e28e9818bc6
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:45848582cecc3d3aa08cef3c2dd0e950383bae4922b2039854d507df7b7431b6
- symbol: out
file: product-core/src/registry/apply.rs
before: absent
after: sha256:48cce0a066ea66fd13f0518fd5492df3ccd71a901fe9c00363918e28e9818bc6
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:82c1a3c9d754fcc0f254b2ce531883391b2115f14c7cd767f8297d24ce0c4a52
- symbol: publish
file: product-core/src/registry/apply.rs
before: absent
after: sha256:48cce0a066ea66fd13f0518fd5492df3ccd71a901fe9c00363918e28e9818bc6
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:1f31aa4d9f571595c4faf9dac96372078e640782dac6297ca5c208e8134fa77e
116 changes: 116 additions & 0 deletions .ddd/seams/seam-rust-product-core-src-registry-check-mod-rs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
format: 2
id: seam/rust/product-core-src-registry-check-mod-rs
boundary: contract surface of product-core/src/registry/check/mod.rs
verdict_knowledge: 'A caller learns whether a generated instance conforms to its own rules, with three finding kinds kept apart: a file breaking the one-assertion-or-one-decision rule, data violating a shape, and a shape the reader could not read. The third is the load-bearing one — an unevaluable shape fails the check rather than being skipped, so no shape passes silently. The honest limit: this is a second reader of rules the instance''s own CI runs under pySHACL, covering a defined SHACL subset; the divergence between the two is measured by fixture, not assumed small.'
contract_location: product-core/src/registry/check/mod.rs
obligations: []
metadata: {}
bindings:
- symbol: FindingKind
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:2f11c392549a05c40703051ad9f41bbb0cf4bce6a95b77201d2f16bb41ead3a5
- symbol: check_instance
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:ec1efa6afbb99d68c220d72b8474d51bc831368229eb5966c23f6d77e06c655c
- symbol: evaluate
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:729d6ac9f734edf91d25e6e7ec262a6b96b991525a5a272d0fbd414118e082d0
- symbol: impl CheckReport
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:a4d3dfe3dd8d0e385cc9ef472daed33fa67aa9c02e0d1fad447cbc6bd4e7ab37
- symbol: CheckReport
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:952627dc5015b8ab94f317b33abdbf6276f112206c9d7d3259b962df145f2291
- symbol: Finding
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:951b5f12a4b28e802f2c54f4e6f56e91f27230a911b544bc42251587a9d51852
- symbol: constraints_evaluated
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:49437cb74129f7d144f29f59b86eb87c3f6676ce791e64d76d4fe71b9861cb75
- symbol: files_checked
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:40e44e6a9b3741147f3fd63e79d94ca5413257813db8404fb8231190a48f42ce
- symbol: findings
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:111603671a0c33d66ef35c4dccb7e90af0b42cff7bfc1bc38b58b01ab005c266
- symbol: file
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:31498218226b6e700a4038e419019f662d9dd4a16c7d72f1e8fe50d560220b3c
- symbol: focus
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:91311f5d354aedfe964bccedd9f4421b056f00ef0ef1c90135d21c4db9e19803
- symbol: kind
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:279228345a486ae5e137165639d74076aa52e8acef0d0791e77f2b74bc662610
- symbol: message
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:89306efefc5e1d269082b81201a38c24db4127d6b439c0be8b8afe07685e0487
- symbol: FileRule
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:a61f123b2f0579850a0692c68fa175317508d8585d8249cd2378dfb23d7823b2
- symbol: ShapeViolation
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:573e7887c81907956e9f937c3885398a99464488edc7f862057ccce85073a321
- symbol: Unevaluable
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:0366b090603146fd0236f690d262b611428b2e2cdc5e66741e5b2dee4d177580
- symbol: conforms
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:5f5c4dd075bf09fb7d7974098383285628ebad0dbb6809e9147b41af887b62a6
- symbol: of_kind
file: product-core/src/registry/check/mod.rs
before: absent
after: sha256:573dd6a01b6e6b6c417c1cc00d34c31d4a05e065d83674dd60a57088fb3d271c
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:a5ef98939537a89956ef7bf2a8a8a268eabfa8357a0e08ed351cd2c9d7c403dd
68 changes: 68 additions & 0 deletions .ddd/seams/seam-rust-product-core-src-registry-params-rs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
format: 2
id: seam/rust/product-core-src-registry-params-rs
boundary: contract surface of product-core/src/registry/params.rs
verdict_knowledge: 'A caller learns generation parameters are typed, and validated for meaning only: a date that parses as a date, a base IRI the RDF parser accepts and that ends where identifiers are minted, a repository name that is one path segment. What validation deliberately does not do is judge a value safe — no character is rejected, because the renderer carries any bytes verbatim and a character rule would be an escaping rule, which is what corrupted the first generated instance.'
contract_location: product-core/src/registry/params.rs
obligations: []
metadata: {}
bindings:
- symbol: impl RegistryParams
file: product-core/src/registry/params.rs
before: absent
after: sha256:aad55c91b8ae590a53f9f7136804e9efd337b28665c4b27e0a75ce356e260c98
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:dc2915844a4178c0f4cfaae23f5890265ce7c6ac621d0668efdf66c5a7ff6fe3
- symbol: RegistryParams
file: product-core/src/registry/params.rs
before: absent
after: sha256:aad55c91b8ae590a53f9f7136804e9efd337b28665c4b27e0a75ce356e260c98
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:31e001c171ef337a06a4ef3da26aa3cbadafa15cad4d8c97279402f1c2e93145
- symbol: base_iri
file: product-core/src/registry/params.rs
before: absent
after: sha256:aad55c91b8ae590a53f9f7136804e9efd337b28665c4b27e0a75ce356e260c98
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:e6feb46bb9fe490ac162b0de75340d0f110da1162e53d2b4bf2f41f595b7227f
- symbol: display_name
file: product-core/src/registry/params.rs
before: absent
after: sha256:aad55c91b8ae590a53f9f7136804e9efd337b28665c4b27e0a75ce356e260c98
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:a6f6795402f099550ea2933c3fe80682288f4309e55d9bd6f3badd1c96da6e4b
- symbol: generated_by
file: product-core/src/registry/params.rs
before: absent
after: sha256:aad55c91b8ae590a53f9f7136804e9efd337b28665c4b27e0a75ce356e260c98
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:fe38292d9a4a45f78159e971e0b9426687b6f5585af000381a9d01d6b49de1ee
- symbol: mint_date
file: product-core/src/registry/params.rs
before: absent
after: sha256:aad55c91b8ae590a53f9f7136804e9efd337b28665c4b27e0a75ce356e260c98
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:b930a9e8aa4412fdaa9a2dcd00d17fd12875170207e39392e5c0bdfcd0884e00
- symbol: owner
file: product-core/src/registry/params.rs
before: absent
after: sha256:aad55c91b8ae590a53f9f7136804e9efd337b28665c4b27e0a75ce356e260c98
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:edef3c0f965cb0e1b542a45a0bd06119b4bc5e1019f5186d033f664b7e77b27c
- symbol: ratifier
file: product-core/src/registry/params.rs
before: absent
after: sha256:aad55c91b8ae590a53f9f7136804e9efd337b28665c4b27e0a75ce356e260c98
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:f068f90452343aedd5656ebf2587d32941286be719a1921144d53ee4f849040b
- symbol: repo
file: product-core/src/registry/params.rs
before: absent
after: sha256:aad55c91b8ae590a53f9f7136804e9efd337b28665c4b27e0a75ce356e260c98
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:9fc65aeaf0d46a16ba3bb6c1397d9760618009b8df242bfcf45a48935e3a7047
- symbol: validate
file: product-core/src/registry/params.rs
before: absent
after: sha256:aad55c91b8ae590a53f9f7136804e9efd337b28665c4b27e0a75ce356e260c98
base_revision: 61222d2d386993ad671643dc46692202a2a4f1e7
hash: sha256:91206f8a495653fd6378f36d647e7cad84cb0760c3d48ac9b3f434492bb760f5
Loading
Loading