Skip to content

Where people and agents ship software together. The open-source git platform for the whole job: issues, agents, checks and deploys to the edge.

g1t.sh

Commit

A session g1t starts on Claude Managed Agents answers in its card, not as you: on flagon-io/demo #1 the session's report showed in the thread as g1t's card, and then again as a comment by @syntaqx, because the kickoff told it to answer in the thread and its token is the person's, so every comment it posts reads as theirs. The kickoff, a follow-up comment passed to a running session (summon) and the system prompt now say the report is the answer, shown on the issue as the session's card, and never to post it or anything else as a comment. Plan mode gives its plan as the report rather than posting it (the mode hint and Ask's tool say so). Checked: cargo test -p g1t-integrations (76).

G1t-Session:
ses_01m4z09g22e7ysqpg2ha423cws
syntaqxcommitted Parent538878aBrowse files
4 files+7−60/4 viewed
+1−1
1515
1616 export const AGENT_MODES: { mode: AgentMode; label: string; hint: string }[] = [
1717 { mode: "implement", label: "Implement", hint: "Make the change and open a pull request." },
18− { mode: "plan", label: "Plan", hint: "Work out how, and post the plan on the issue. No code." },
18+ { mode: "plan", label: "Plan", hint: "Work out how, and report the plan. No code." },
1919 { mode: "review", label: "Review", hint: "Review the issue's pull request." },
2020 ];
2121
+4−3
122122 - A push to the default branch of a project with deployments on deploys production. When you push there, watch it with \
123123 `g1t deploy list` until it is live or failed; if it failed, read why, fix it and push again. Say where it is live in your report.\n\
124124 - Never write `@g1t` in what you post on g1t: that asks g1t for another session.\n\
125− - When you finish, say in a few sentences what you did, what is left, and the pull request, if any. That is your report on g1t."
125+ - When you finish, say in a few sentences what you did, what is left, and the pull request, if any. That is your report on g1t: it shows on the issue as this session's card, so never post it, \
126+ or anything else, as a comment. Your token is the person's, and a comment would read as theirs."
126127 .to_owned()
127128 }
128129
349350 "\n@{by} asked you in a comment there ({}):\n\n<comment>\n{}\n</comment>\n\n\
350351 Do what they ask. If they are unhappy with what an earlier session did, fix it on the same branch and pull request \
351352 rather than starting over: `g1t work context {}` shows the sessions and pull requests so far. \
352− When you are done, answer them in that thread with what you changed.\n",
353+ Your report is your answer: it shows in that thread as this session's card.\n",
353354 asked.url,
354355 cut(comment, MAX_INSTRUCTION_CHARS),
355356 k.issue
362363 }
363364 text.push('\n');
364365 text.push_str(match (k.mode, &k.pull) {
365− (AgentMode::Plan, _) => "Plan it: work out how it should be done and post the plan as a comment on the issue. Change no code and open no pull request.",
366+ (AgentMode::Plan, _) => "Plan it: work out how it should be done and give the plan as your report. Change no code and open no pull request.",
366367 (AgentMode::Implement, Some(_)) => "Push the change to the pull request's branch, get its checks passing, and keep it a draft until it is ready.",
367368 (AgentMode::Implement, None) => {
368369 "Implement it: make the change on a branch, open a draft pull request for the issue early, get its checks passing, and mark it ready. \
+1−1
200200 "issue": { "type": "integer", "description": "The issue the work belongs to." },
201201 "title": { "type": "string", "description": "A new issue's title, when there is no issue yet." },
202202 "body": { "type": "string", "description": "A new issue's description: what to do and what done means." },
203− "mode": { "type": "string", "enum": ["plan", "implement", "review"], "description": "plan: work out how and post the plan, no code. implement: make the change and open a pull request. review: review the issue's pull request." },
203+ "mode": { "type": "string", "enum": ["plan", "implement", "review"], "description": "plan: work out how and report the plan, no code. implement: make the change and open a pull request. review: review the issue's pull request." },
204204 "instruction": { "type": "string", "description": "Anything the session should know beyond the issue." }
205205 },
206206 "required": ["repo", "mode"]
+1−1
295295 let Some(row) = self.ai_row(&running.connection_id).await? else { return Ok(false) };
296296 let key = self.ai_secret(&row).unwrap_or_default();
297297 let message = format!(
298− "@{} said, in a comment on g1t ({url}):\n\n<comment>\n{}\n</comment>\n\nTake it into account, and answer them in that thread.",
298+ "@{} said, in a comment on g1t ({url}):\n\n<comment>\n{}\n</comment>\n\nTake it into account; your report answers them, on this session's card in that thread.",
299299 actor.username,
300300 text.trim()
301301 );

Comments

Sign in to comment.