The design for M2.5, as we agreed in conversation, put into the architecture before any code. Doc-only.
Changes
L1, general scope. This is the scope of conversation not (yet) about a project:
one item per thread, with no repository, no build VM and no execution;
its context is the conversation and agent memory;
it closes after a day idle with a summary in its log, and a later reply in that thread starts a new linked item;
work it turns into moves to a project's item.
L5. Every conversation is an item from its first message. Chit-chat is answered in the thread, and only work gets a Gitea issue.
D1, record issues. A conversation's record issue is opened once it's work on a project, not at its first message, since the transcript already keeps the conversation.
D1, new-project sequence:
The proposal: name, purpose, and the decisions provisioning depends on (toolchain, so the build VM template; services; secrets; egress). You agree as to a restatement.
A provisioning checklist in Matrix: repository with protection, agent as collaborator, build VM, and the project entry given as configuration for you to add.
Verified when you say done: the repo, a branch push, the protection refusals (D4), and the build VM.
A tracking issue whose body is the distilled decisions, linking the conversation item. The raw chat isn't carried into the project's context.
The architecture PRs, treated as design, then the milestones.
Before the repository exists, drafts live in the conversation. general never gets a build VM: an experiment that needs one is a reason to start the project for real.
Q. The answered question ("whether pure conversations need an external record") is removed.
Development Plan, M2.5. Its design is now agreed, it comes after M1.4, and its e2e uses a repository the test operator creates under its own account per run.
Please check
These are two points I proposed that you didn't explicitly confirm:
closing after a day idle;
the project entry posted as YAML for you to add, which for now means a restart to pick it up.
The design for M2.5, as we agreed in conversation, put into the architecture before any code. Doc-only.
## Changes
- **L1, `general` scope.** This is the scope of conversation not (yet) about a project:
- one item per thread, with no repository, no build VM and no execution;
- its context is the conversation and agent memory;
- it closes after a day idle with a summary in its log, and a later reply in that thread starts a new linked item;
- work it turns into moves to a project's item.
- **L5.** Every conversation is an item from its first message. Chit-chat is answered in the thread, and only work gets a Gitea issue.
- **D1, record issues.** A conversation's record issue is opened once it's work on a project, not at its first message, since the transcript already keeps the conversation.
- **D1, new-project sequence:**
1. The proposal: name, purpose, and the decisions provisioning depends on (toolchain, so the build VM template; services; secrets; egress). You agree as to a restatement.
2. A provisioning checklist in Matrix: repository with protection, agent as collaborator, build VM, and the project entry given as configuration for you to add.
3. Verified when you say done: the repo, a branch push, the protection refusals (D4), and the build VM.
4. A tracking issue whose body is the distilled decisions, linking the conversation item. The raw chat isn't carried into the project's context.
5. The architecture PRs, treated as `design`, then the milestones.
Before the repository exists, drafts live in the conversation. `general` never gets a build VM: an experiment that needs one is a reason to start the project for real.
- **Q.** The answered question ("whether pure conversations need an external record") is removed.
- **Development Plan, M2.5.** Its design is now agreed, it comes after M1.4, and its e2e uses a repository the test operator creates under its own account per run.
## Please check
These are two points I proposed that you didn't explicitly confirm:
- closing after **a day idle**;
- the project entry **posted as YAML for you to add**, which for now means a restart to pick it up.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01PPQ14L3LikyefCMFBqEbKE
- L1: `general`, the scope of conversation not (yet) about a project: an
item per thread, no repository, build VM or execution; closes after a day
idle, a later reply starting a linked item.
- L5: every conversation is an item from its first message; chit-chat is
answered, only work gets a Gitea issue.
- D1: a conversation's record issue is opened once it's work on a project.
The new-project sequence: proposal, a provisioning checklist in Matrix,
verified when the operator says done, a tracking issue carrying the
distilled decisions (not the raw chat), then the architecture PRs.
- Q: a scratch build VM for general replaces the answered question about
records for pure conversations.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPQ14L3LikyefCMFBqEbKE
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The design for M2.5, as we agreed in conversation, put into the architecture before any code. Doc-only.
Changes
L1,
generalscope. This is the scope of conversation not (yet) about a project:L5. Every conversation is an item from its first message. Chit-chat is answered in the thread, and only work gets a Gitea issue.
D1, record issues. A conversation's record issue is opened once it's work on a project, not at its first message, since the transcript already keeps the conversation.
D1, new-project sequence:
design, then the milestones.Before the repository exists, drafts live in the conversation.
generalnever gets a build VM: an experiment that needs one is a reason to start the project for real.Q. The answered question ("whether pure conversations need an external record") is removed.
Development Plan, M2.5. Its design is now agreed, it comes after M1.4, and its e2e uses a repository the test operator creates under its own account per run.
Please check
These are two points I proposed that you didn't explicitly confirm:
🤖 Generated with Claude Code
https://claude.ai/code/session_01PPQ14L3LikyefCMFBqEbKE