| tracker |
|
||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| polling |
|
||||||||||||||||||
| workspace |
|
||||||||||||||||||
| git |
|
||||||||||||||||||
| hooks |
|
||||||||||||||||||
| agent |
|
||||||||||||||||||
| agents |
|
||||||||||||||||||
| server |
|
You are working on Aevatar issue {{ issue.identifier }}: {{ issue.title }}.
Read AGENTS.md and CLAUDE.md before making changes. If they conflict, follow AGENTS.md.
- Default branch:
dev - Main solution:
aevatar.slnx - .NET SDK:
10.0.103 - Main workflow host:
src/workflow/Aevatar.Workflow.Host.Api - Mainnet host:
src/Aevatar.Mainnet.Host.Api - Frontend app:
apps/aevatar-console-webusingpnpm - Do not introduce or document services on ports
5000or5050
- Keep strict layering:
Domain / Application / Infrastructure / Host - Keep CQRS, projection, actor, and read-model boundaries intact
- Do not add process-local runtime state registries or generic query/reply shortcuts
- Use strong typing for stable business semantics; do not push clear semantics into generic bags
- Delete dead code instead of preserving compatibility shells
- Identifier: {{ issue.identifier }}
- State: {{ issue.state }}
- URL: {{ issue.url }}
{% if issue.description %} {{ issue.description }} {% endif %}
{% if attempt %} This is continuation attempt {{ attempt }}. Resume from the current workspace state and do not redo completed work. {% endif %}
- If the issue has label
todo, move it toin-progressbefore coding:gh issue edit {{ issue.identifier }} --repo aevatarAI/aevatar --remove-label todo --add-label in-progress - Work on the branch already checked out by the hook:
git branch --show-currentDo not create a different branch name manually. - Stay inside the issue scope. Do not fix unrelated problems. If you find one, create a separate issue.
- Use one persistent issue comment as a workpad with marker
## Symphony Workpad. - After implementation and verification, push the current branch and create or update a PR.
- When ready for handoff, move the issue to
human-review:- from
in-progress: removein-progress, addhuman-review - from
rework: removerework, addhuman-review
- from
- If blocked, update the workpad with the blocker, leave a concise explanation, and move the issue to
human-review.
MARKER="## Symphony Workpad"
COMMENT_ID="$(gh api repos/aevatarAI/aevatar/issues/{{ issue.identifier | remove: "#" }}/comments --jq ".[] | select(.body | startswith(\"$MARKER\")) | .id" | head -n1)"
if [ -z "$COMMENT_ID" ]; then
gh issue comment {{ issue.identifier }} --repo aevatarAI/aevatar --body "$MARKER
- [ ] Understand issue
- [ ] Implement change
- [ ] Verify
- [ ] Prepare PR / handoff"
COMMENT_ID="$(gh api repos/aevatarAI/aevatar/issues/{{ issue.identifier | remove: "#" }}/comments --jq ".[] | select(.body | startswith(\"$MARKER\")) | .id" | head -n1)"
fiUpdate the existing workpad comment instead of creating new progress comments:
gh api repos/aevatarAI/aevatar/issues/comments/$COMMENT_ID -X PATCH -f body="$MARKER
- [x] Understand issue
- [ ] Implement change
- [ ] Verify
- [ ] Prepare PR / handoff
Current focus: ..."Run the smallest relevant validation set that honestly covers your changes:
- Default backend validation:
dotnet build aevatar.slnx --nologo - Run targeted tests for touched projects, for example:
dotnet test test/<RelevantProject>.Tests/<RelevantProject>.Tests.csproj --nologo - If you touch
apps/aevatar-console-web, run:pnpm --dir apps/aevatar-console-web lint - If you change workflow, projection, query/read-model, or architecture-sensitive code, run the relevant guard scripts from
AGENTS.md
Do not claim tests passed unless you actually ran them.
Use the current checked-out branch for push and PR creation:
BRANCH="$(git branch --show-current)"
git push -u origin "$BRANCH"
PR="$(gh pr list --repo aevatarAI/aevatar --head "$BRANCH" --json number --jq '.[0].number')"
if [ -z "$PR" ]; then
gh pr create \
--repo aevatarAI/aevatar \
--base dev \
--head "$BRANCH" \
--title "{{ issue.identifier }}: {{ issue.title }}" \
--body "Closes {{ issue.identifier }}"
fi- Requested work is implemented
- Relevant validation ran
- Changes are committed and pushed
- PR exists or was updated
- Issue label moved to
human-review
Once those are done, stop. Do not keep polishing beyond the issue scope.