Skip to content

REQ 001

sergio velderrain edited this page Nov 10, 2026 · 4 revisions

REQ-001: Zero pre-committed project config (except disclosed narrow-purpose exceptions)

Requirement

The engine shall ship with zero pre-committed project-specific configuration, identifiers, or credentials, except in files explicitly disclosed as narrow-purpose exceptions for one specific known consumer. The complete list of disclosed exceptions is: (1) docker/windows-sbom/Build-LvlibpCandidate.ps1; (2) provision-ubuntu-vm.yml's package-build phase template (VITechnologies/projectbuddy#62); (3) the Ubuntu appliance packager vm/ubuntu-labview/package-vagrant-box.py and clone profiles vm/ubuntu-labview/clone-profile.json and vm/ubuntu-labview/clone-profile.v1.json (the frozen profile that @1 clone receipts verify against, VITechnologies/projectbuddy#192), which set one consumer's package name and version as required values; the clone verifiers verify-vagrant-clone.py and verify-vagrant-clone-receipt.py read them from the profile (VITechnologies/projectbuddy#167 item 8; REQ-090 plans declared workload data instead). All three are documented in the Architecture Packet's Component View.

Rationale

Keeps the public engine reusable by any fork without leaking one fork's private state, while acknowledging that a small number of intentionally narrow, disclosed reference scripts legitimately need a concrete example to be useful at all.

Fit Criterion

grep for hardcoded project names/identifiers across vm/, root scripts, and workflows returns no matches outside documentation/examples and the disclosed narrow-purpose exceptions above.

Verification

Not met (manual sweep at engine develop 5881465). The VITechnologies/projectbuddy#68 remediation genericized the violations it listed (Register-WslRunnerKeepAlive.ps1's default shortcut name, base-bootstrap.sh/provision-guest.sh's hardcoded paths and guest-property name, 11 files' sandbox-sbom-reporting/* schema-namespace strings, unattended-template.xml's 4 <Description> fields, pipeline-config.schema.json's self-referential field docs, and Run-WindowsSbom.ps1/Run-LinuxSbom.ps1's false "VIT Super Network Streams is the default" doc claim). Its sweep missed other values that predate it. A re-sweep of vm/, docker/, scripts/, workflows, and root scripts classifies every match: the three disclosed exceptions above; matches that are not consumer configuration but that the Fit Criterion's literal grep still returns, so the Fit Criterion should name them (the pinned public LUnit suite, REQ-034 and REQ-036, and the capture decoder's input schema, REQ-037); permitted comments, docstrings, help examples, and issue citations that name a consumer only as an example or provenance; and remaining violations, tracked in VITechnologies/projectbuddy#176. The remaining violations are legacy consumer-derived names used as engine identifiers or defaults (the Windows guest WinRM service and firewall rule names, the Ubuntu base systemd unit descriptions, the container launchers' default image and cache-volume names, and the Ubuntu workflow's temporary-directory prefixes), a Vagrant test harness whose default box is another consumer's private box, and the standards workflows' maintainer account, which awaits a disclose-or-parameterize decision.

Source

Software-Requirements-Specification

Priority

High

TestID

TEST-001

TestArtifact

Manual code review (no automated check yet)

CodeRef

README.md Consumption model section

Status

Not met -- remaining violations tracked in VITechnologies/projectbuddy#176; #68 fixed the violations it listed

Clone this wiki locally