Repository navigation
Make --check JSON agree with its exit code; show recipe-less outputs in status - #241
cailmdaley wants to merge 4 commits into
Conversation
A check with planned outputs fails the gate, so report ok as false. Co-Authored-By: GPT-6 Luna <noreply@openai.com>
The plan preserves non-executable declarations so users can see what still needs a recipe. Co-Authored-By: GPT-6 Luna <noreply@openai.com>
A `from:` re-export stands for an output that is already reported, and the nine-character `no recipe` state pushed its row out of the table. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
✅ Eval
lc statusConfusion & pain points (Claude analysis)Confusion & pain points
Full trace: |
|
@claude can you show me what the output of lc materialize would look like in the 2 situations mentioned in this PR before and after the fix, grounded in the code |
|
Claude finished @EiffL's task in 24s —— View job Before/after output for the two situations in this PRThese are derived from the diff ( One correction to the framing: situation 2 is a 1.
|
|
@claude review this PR and see why the tests fail |
|
Claude finished @EiffL's task in 29s —— View job Review of #241 and why the tests failI read the diff and the CI logs for the failed run, and I did not re-run the suite myself. Why CI failsOnly The cause is not in this PR. The image build runs (3.11.17 on the 3.11 job). The image pins This is a time-dependent environmental failure, so Possible fixes, each outside this PR:
None of the failures touch Review of the changeThe change is correct and small. Findings, in order of importance:
Your open questionShould |
Cheap agents running a five-task smoke suite against the agent-skills
lightconeplugin, on lc 0.5.0rc5, hit twolcbehaviours that mislead them. Each is fixed here, with a test that fails onmain.lc materialize --check --jsonsaid"ok": trueand exited 1 when outputs were still to build. An agent reading the JSON concluded that it was done.okis now false whenever check mode finds planned work, so the JSON and the exit code agree, and--helpstates the contract. A check with planned work still prints "would be made" rather than "did not finish". Normal (non-check) runs are unchanged, andup_to_datekeeps its value in every case, which matters becauseeval.ymlreads it.A declared output with no recipe vanished from
lc status. An agent asked to wire a missing recipe couldn't see what was missing. Such outputs now appear in both human and--jsonstatus with the stateno recipe, andcounts["no recipe"]counts them. Re-exports (from:) are not listed this way, since their target output is already listed. The empty-report message now reads "The analysis declares no output."Tests: the full suite minus
test_container_smoke.pygives 1152 passed and 3 skipped. The 4 container smoke tests fail identically onmainlocally ("No such image: sha256:…" on Docker 27.3.1), which looks environmental. A reviewer copied the new tests ontoorigin/main, saw them fail for the stated reasons, and ran both commands by hand on a mixed spec.Two questions for review:
lc materialize --checkalso fail while some declared output has no recipe? The lightcone skill calls--check"the gate" and tells agents they're done when it passes, so today an unwired output passes the gate.counts{current,behind,stale}and three states. It needs ano reciperow once this lands; that follow-up goes in agent-skills.Not included: the smoke suite also reported that the local cluster sizes itself from host CPUs instead of the container limit. That doesn't reproduce. Inside the smoke image,
lc compute resourcesreports 2 CPUs underdocker --cpus=2and 3 under--cpuset-cpus=0-2, because dask'sCPU_COUNTalready honours affinity and cgroup quotas. The original observation came from a Harbor run on Docker Desktop that didn't apply the quota.Claude Opus 5.5 on behalf of Cail
🤖 Generated with Claude Code
https://claude.ai/code/session_01UJCxD1csvG8NnxWLtew9uB