Skip to content
Back to skills

Venus Build Owner

ASecurity

The single build owner's recipe for a Venus wave, one target per cmake invocation with a survivable tally, the plain-client boot check, serial gates (-j 1) with per-control raw rc + sentinel, the receipt JSON every wave must carry, disk/process hygiene, and what "NOT FINISHED" must say. Use when you are the only agent allowed to build/test after implementers hand off, or when producing the VENG-1583-style receipt for a SHA.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentspythonbashgit

Works with

  • cli

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add Ugbot/ai-grind --skill venus-build-owner --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Venus Build Owner?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Venus Build Owner
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ugbot-venus-build-owner/badge)](https://www.skillsdirectory.com/skills/ugbot-venus-build-owner)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: venus-build-owner
description: The single build owner's recipe for a Venus wave, one target per cmake invocation with a survivable tally, the plain-client boot check, serial gates (-j 1) with per-control raw rc + sentinel, the receipt JSON every wave must carry, disk/process hygiene, and what "NOT FINISHED" must say. Use when you are the only agent allowed to build/test after implementers hand off, or when producing the VENG-1583-style receipt for a SHA.
---

# Contract

You are the ONLY process building or running tests in the tree. Implementers
have finished and may have left code that does not compile; you may make
MINIMAL correcting edits inside packet files and must list every one.
`VENUS_NEON_AUDIO=0` for everything you launch. Not-run is never passed;
built is not receipted until a log names the SHA, warning count and gate result.

# 1. Build, one target per invocation, tally survives a cutoff

```bash
cd C:/code/Venus
# reconfigure ONLY if a new TU/test was added (never delete the cache):
cmake -S . -B build-msvc > "$OUT/configure.log" 2>&1
cat > "$OUT/build_all.sh" <<'EOF'
for t in venus_engine venus_engine_server venus_physics <packet targets> wyrdholm wyrdholm_headless_client wyrdholm_server <every wyrd*/wyrdholm*/physics_* exe>; do
  s=$(date +%s); cmake --build build-msvc --target $t --config Release > "$OUT/build_$t.log" 2>&1; rc=$?
  w=$(grep -c "warning C\|warning LNK\|warning MSB" "$OUT/build_$t.log")
  echo "$t rc=$rc warnings=$w seconds=$(( $(date +%s)-s ))" >> "$OUT/tally.txt"
done; echo ALL_DONE >> "$OUT/tally.txt"
EOF
bash "$OUT/build_all.sh" &   # background; poll tally.txt — never block on one huge command
```

`touch` every packet TU first so the logs prove they recompiled. Zero warnings
is the rule (house: warnings are errors); report each warning verbatim.
Target names: `grep -h "add_executable(" cmake/*.cmake`. Disk: check free GB
before (the 2026-09-07 evaluation build died at 0 bytes free) and after.

# 2. Boot checks (the numbers the receipt must quote)

- Plain `build-msvc/Release/wyrdholm.exe` for ~30 s (cwd = repo root,
  `VENUS_LOG_LEVEL=INFO`), then kill: quote the `[WYRD_TERRAIN] STREAMING ARMED
  ... N candidate chunks` line (catalogue READY) and any REFUSED line.
- `wyrdholm_server.exe` headless ~30 s: quote `venus_pworld_terrain(w) == NULL`
  (Stage A criterion 1) and the island collider READY counts once P2 lands.

# 3. Policy gates and greps

`ctest -C Release -R "^(boundary_gate|shader_policy_gate|file_length_gate|assert_side_effect_gate|mutex_free_gate|engine_include_boundary|test_registration_gate)$"`,
`python tools/check_mutex_free.py`, `python tools/check_packet.py --base <sha>`.
Report remaining violations per file, not counts alone.

# 4. Packet gates, then the receipt, SERIAL

```bash
cd build-msvc
ctest -C Release --output-on-failure --timeout 900 -R "^(<packet gates>)" > "$OUT/gates_packets.log" 2>&1
ctest -C Release -L gate -R "^(wyrd|wyrdholm|physics|venus_jobs|net_)" --timeout 900 --output-on-failure -j 1 > "$OUT/receipt_gate_run.log" 2>&1
```

`-j 2` produced two contention reds in wave 1 (`wyrdholm_listen`,
`wyrdholm_input_latch`); serial receipts attributed every red. Always check
`Total Tests != 0`. For EVERY falsifier, also run the underlying binary by
hand with its lever and record: raw rc, the sentinel line, and whether it is
red for the INTENDED reason (a different line than the positive). Long
soaks (`wyrdholm_load` ~6 min, `wyrdholm_listen` ~3 min) run standalone once.

# 5. Receipt (JSON + md under scratchpad/<wave>-<date>/, committed)

Always print: SHA built; per-target rc/warnings (the tally); boot lines;
policy gate results with remaining violations; packet-gate run AND receipt
run paths with total/passed/failed/not_run and each failure's first CHECK
line; per control: raw rc, sentinel, `red_for_intended_reason`; every edit
you made as its own list; free disk GB at the end; a **NOT FINISHED** list
naming what was cut off (a forced structured-output cutoff mid-build must
say which targets never built, never report them as green).

# 6. Hygiene

Kill leftover `wyrd*|neon*|venus*` test processes at the end. Do not run
git. Do not reconfigure twice. If disk < 5 GB, stop and say so.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…