Skip to content

docs(design): add shared work queue ADR and update persona references#232

Open
ldpliu wants to merge 1 commit into
genai-io:mainfrom
ldpliu:design/queue-subcommand
Open

docs(design): add shared work queue ADR and update persona references#232
ldpliu wants to merge 1 commit into
genai-io:mainfrom
ldpliu:design/queue-subcommand

Conversation

@ldpliu

@ldpliu ldpliu commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add ADR-0003: file-based JSONL shared work queue with san queue subcommand (EN + CN)
  • Replace all san agent run --persona references with san --persona <name> -p in ADR-0002
  • Update ADR-0002 implementation plan to reflect completed PR fix(app): make --persona take effect in -p print mode #231 (print mode persona fix)

Test plan

  • Docs only — no code changes
  • Both EN and CN versions aligned

🤖 Generated with Claude Code

@ldpliu

ldpliu commented Jun 16, 2026

Copy link
Copy Markdown
Contributor Author

/cc @yanmxa

@github-actions github-actions Bot requested a review from yanmxa June 16, 2026 08:53
@yanmxa

yanmxa commented Jun 18, 2026

Copy link
Copy Markdown
Member

@ldpliu This one looks good content-wise, but the branch has fallen behind main. Could you rebase onto the latest main (or click "Update branch")? Once it's fresh and CI is green we can merge. Thanks! 🙏

@ldpliu ldpliu force-pushed the design/queue-subcommand branch 2 times, most recently from 72b61a7 to a063314 Compare June 18, 2026 08:12
@ldpliu

ldpliu commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

@yanmxa done

ln -s /path/to/san-team/leader ~/.san/personas/leader
ln -s /path/to/san-team/dev ~/.san/personas/dev
ln -s /path/to/san-team/qe ~/.san/personas/qe
ln -s /path/to/san-team/release ~/.san/personas/release

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to keep the file not linked, how about using the settings.json to maintain the team/member

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which settings.json are you referring to? The per-persona settings.json inside each persona directory (e.g., san-team/leader/settings.json), or San's own ~/.san/settings.json?

If the idea is to maintain a team/member mapping inside settings.json, it would be quite difficult to configure in practice. Teams is currently a virtual concept — it's not a runtime entity in San. The san-team repo is just a directory structure that holds persona configurations. San only recognizes --persona at startup; there's no --team flag and no team abstraction to resolve.

So it's hard to use a settings.json-based team/member config to launch different persona roles.

Right now persona loading only looks in two places (see internal/persona/persona.go):

  1. ~/.san/personas// — user level
  2. .san/personas// — project level (higher priority)

You either place the persona directory directly under one of these paths, or symlink it there. No other loading paths exist. The symlink approach isn't the most elegant, but it's simple and direct — no extra team abstraction layer needed.

Given these constraints, do you see a better alternative?

…rences

Add ADR-0003 for the JSONL file-based shared work queue with `san queue` subcommand. Replace all `san agent run --persona` references with `san --persona <name> -p` in ADR-0002, reflecting the existing print-mode headless agent (PR genai-io#231).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

Signed-off-by: dangpeng <liudangpeng@126.com>
@ldpliu ldpliu force-pushed the design/queue-subcommand branch from a063314 to 933dbf7 Compare June 19, 2026 02:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants