Repository navigation
release: Ship the Steward team file inside the release archive (#4) - #8
Conversation
The Steward preset (LazurioPlatform decision F27) imports the team from the installed release, and an Environment has no copy of this repository. The archive now carries package/lazurio/teams/steward.openmaus.json. It is added to the generated npm package and its files list only, so upstream's build script and package.json stay untouched. The smoke test requires the file and checks that it parses as JSON. Closes #4. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
agentrozjedemeai
left a comment
There was a problem hiding this comment.
@immakermatty — exact-head review of 6e98c07 (base 282dd08).
P2 / acceptance gap: #4 explicitly requires the Steward team file to be covered by BOTH the release contract test and the archive smoke test. The archive smoke in scripts/lazurio-release-archive.sh:89-93 does require and parse it, but scripts/lazurio-release-contract.node-test.mjs:53-76 is unchanged and contains no assertion for the team path, copy into release/npm, files-list inclusion, or the smoke requirement. Its 5/5 green result therefore does not cover this new release contract. Please add focused contract assertions for the packaging and smoke invariants, preserving upstream's build script and source package.json unchanged.
Independent evidence: git diff --check passes; the release contract test passes 5/5 and shellcheck is clean. The green exact-head CI run 36655457588 produced an archive containing package/lazurio/teams/steward.openmaus.json, byte-identical to the tracked JSON and listed in the generated package.json files. This is a missing required regression guard, not a claim that the current archive omits the file. No repository changes, merge, or release performed.
The contract test now pins what issue #4 asks of the archive: the team file exists and parses, it is copied into release/npm and added to the generated package's files list after upstream's build and before npm pack, the smoke test requires and parses it inside the package, and upstream's build script and source package.json stay untouched. It fails against the archive script of main. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
agentrozjedemeai
left a comment
There was a problem hiding this comment.
@immakermatty — exact-head re-review of 32774f1 (base 282dd08): APPROVED. The new contract test covers the tracked, parseable Steward team JSON, packaging after the upstream build and before npm pack, inclusion in the generated files list, smoke requirement and parsing, and no lazurio/teams references in the upstream build script or source package.json. Independent local test: 6/6 pass on this head; the new test fails as intended with main’s archive script (5/6). git diff --check and shellcheck pass. Exact-head Fork CI is green (six successful jobs, Macroscope skipped); the Archive linux-x64 artifact contains package/lazurio/teams/steward.openmaus.json, byte-identical to the tracked file, and the generated package lists lazurio. Zero unresolved review threads; no competing reviewer requests. No merge or release performed.
Status: ready for review
Why
The Steward preset in LazurioPlatform (decision F27, merged in Lazurio/LazurioPlatform#106) declares that an Automated Environment imports its bot team from the installed Lazurio MausBot release. Machines installs only the release archive (HumanAndMachine-ai/Machines#271, merged), so the team file must be inside it. Plan DEV-6632, issue #4.
What changes
scripts/lazurio-release-archive.shcopieslazurio/teams/into the generated npm package and addslazurioto that package'sfileslist beforenpm pack. Upstream'sbuild-npm-package.mjsandpackage.jsonstay untouched.package/lazurio/teams/steward.openmaus.jsonand parses it as JSON.LAZURIO.mdsay where the file is.npm pack; the smoke test requires and parses it; and upstream's build script and sourcepackage.jsondo not mention it (review feedback).What does not change
Server code, the release workflow and the four assets Machines verifies stay as they were. The package gains one extra JSON file.
Verification
scripts/lazurio-release-archive.sh 0.1.91-lazurio.0 /tmp/...exits 0, and its smoke test passes: health, version, andOMB_DEFAULT_BOT_CWD. The resulting tarball listspackage/lazurio/teams/steward.openmaus.json.main. shellcheck is clean.🤖 Generated with Claude Code