Conversation
Mirrors the Trellis-side workflow.md fixes for behaviour that shipped in mindfold-ai/Trellis#578: - `task.py rename <name> <new-slug> [--dry-run]` is listed in the task lifecycle command block; the command shipped with no entry here. - step 1.3 no longer says the manifests arrive holding a self-describing `_example` line. `task create` writes them empty. - the "delete the seed line, it is skipped by consumers" note is replaced by the shipped rule: a legacy `_example` row is rejected by both `task.py validate` and PR preflight. - the ready gate now names the empty manifest, and points at `start --allow-empty-context` for the intentional case. Only these four hunks. The DSH class-2 blocks carried by mindfold-ai#13 and mindfold-ai#14 are untouched. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018GfcLh1HJThrTKsURgP8Ja
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Updates the native workflow documentation to match recent Trellis task lifecycle behavior around task renaming and JSONL context-manifest creation/validation, ensuring the workflow guidance reflects the current “empty manifest” and legacy _example rejection rules.
Changes:
- Documented
task.py rename <name> <new-slug> [--dry-run]in the task lifecycle command list. - Updated step 1.3 to state
implement.jsonl/check.jsonlare created empty ontask create(not seeded with_example). - Clarified that legacy
_examplerows are rejected by validation/preflight and that empty/legacy-only manifests are not “ready” withoutstart --allow-empty-context.
Suppressed comments (2)
workflows/native/workflow.md:55
- The comment describing
implement.jsonl/check.jsonlas "seeded" ontask createcontradicts the updated guidance below that these files are created empty. This can mislead readers about whether an_examplerow is expected to exist.
This issue also appears on line 425 of the same file.
python3 ./.trellis/scripts/task.py rename <name> <new-slug> [--dry-run] # rename task and every reference to it
python3 ./.trellis/scripts/task.py list [--mine] [--status <s>]
python3 ./.trellis/scripts/task.py list-archive
# Code-spec context (injected into implement/check agents via JSONL).
workflows/native/workflow.md:427
- The new text states
task.py validate/ PR preflight reject legacy_examplerows and that empty manifests are not planning-ready, but step 1.4 still says runtime consumers tolerate "seed-only" manifests. That sentence is now internally inconsistent with the stricter validation described in this section.
Tasks created by older Trellis versions may still carry a legacy `{"_example": ...}` placeholder row. Delete it — `task.py validate` and PR preflight both reject it.
Ready gate: both `implement.jsonl` and `check.jsonl` must contain at least one real `{"file": "...", "reason": "..."}` entry before `task.py start`. An empty manifest is not ready, and neither is one holding only a legacy `_example` row. Pass `start --allow-empty-context` when running without spec context is intentional.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
One handoff note, since the Trellis-side companion cannot open green without you. The Trellis change (the same four hunks in So the pin needs an off-
If you push that tree to a branch here, I will bump the gitlink to your commit and open the Trellis PR green. Happy to do it the other way round if you would rather land the Trellis docs first and repoint afterwards — just say which. Separately, and not part of this PR: 🤖 Generated with Claude Code |
|
Thanks for the precise handoff. I verified the proposed mirror commit locally:
The blocker is repository permission: @taosu0216, could you please push Sven's already-verified I can handle the two legacy manifest rows as a separate narrow Trellis cleanup so it stays out of this PR. |
|
Closing this: the branch has diverged from main since it was opened three weeks ago, and I am no longer tracking the change on my side. Happy to reopen a fresh pull request against current main if the task.py rename and the empty jsonl manifests are still worth documenting. |
Replaces #17, which I have closed — it was written before mindfold-ai/Trellis#573 and its diff no longer applies cleanly on top of the current mirror.
Four hunks, mirroring the Trellis-side follow-up to mindfold-ai/Trellis#578 (companion: sdelmas/Trellis
upstream-pr/workflow-doc-sync):task.py rename <name> <new-slug> [--dry-run]added to the task lifecycle command block. The command shipped in #578 with no entry here._exampleline —task createwrites them empty._examplerow is rejected bytask.py validateand by PR preflight, so it is not optional.start --allow-empty-context.What this PR deliberately does not do
workflows/native/workflow.mdon this branch is not byte-identical topackages/cli/src/templates/trellis/workflow.mdon Trellismain, and I did not try to make it so.The two have diverged in both directions:
feat/v0.7-beta, notmain, so Trellismainstill lists DeepSeek Harness as an inline platform.mainhas since gained thetask_errorbreadcrumb (#544) and the seed-only context gate (#573), neither of which is here.Converging this file to Trellis
mainwould revert the DSH work. That is a call for you and @SajoLuo, not something to fold into a docs sync, so this PR touches only the four hunks and leaves both divergences alone.The consequence: the byte-identity assertion in
trellis.test.tsstill cannot be satisfied by pinning Trellis at this branch. It is satisfied by an off-mainmirror commit, the waysync/native-workflow-seed-gatedoes it today — see the companion PR for the exact tree.🤖 Generated with Claude Code
https://claude.ai/code/session_018GfcLh1HJThrTKsURgP8Ja