@anhvupt/tito 0.3.3 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -136,7 +136,7 @@ npx tito upgrade --confirm
136
136
 
137
137
  `--confirm` installs the latest `@anhvupt/tito` and replaces Tito-owned
138
138
  agents, skills, those Tito-owned scoped rules, and the Tito section of
139
- `AGENTS.md`. Consumer rules, consumer
139
+ `AGENTS.md`, which includes the stop that shows the test cases before any source edit. Consumer rules, consumer
140
140
  agents, and other project skills stay untouched. In a terminal, `tito upgrade --confirm` asks only for settings missing from `tito.yaml`: git base, screen language, tenancy, surfaces, and auto-create pull request. Enter on that last question still stores yes. It does not change a value that is already present, and it does not change the profile. A non-interactive upgrade does not ask. If `tito.yaml` is missing, it skips those questions.
141
141
 
142
142
  Tito is installed in each project. It is not a required global command.
@@ -263,7 +263,7 @@ models:
263
263
  planner: claude-opus-5-5-medium
264
264
  implementer: grok-4.7-high
265
265
  reviewer: grok-4.7-high
266
- finisher: claude-sonnet-5-5-high
266
+ finisher: composer-2.5
267
267
  ```
268
268
 
269
269
  - Code stays English.
@@ -9,7 +9,7 @@ export const DEFAULT_MODELS = Object.freeze({
9
9
  planner: "claude-opus-5-5-medium",
10
10
  implementer: "grok-4.7-high",
11
11
  reviewer: "grok-4.7-high",
12
- finisher: "claude-sonnet-5-5-high",
12
+ finisher: "composer-2.5",
13
13
  });
14
14
  export const SCREEN_LANGUAGES = ["vi", "en"];
15
15
  export const TENANCY_VALUES = ["single", "multi"];
@@ -27,6 +27,11 @@ const SONNET_HIGHEST = {
27
27
  matchGroups: [(slug) => slug.startsWith("claude-sonnet-")],
28
28
  pick: "highest",
29
29
  };
30
+ const COMPOSER_25 = {
31
+ family: "Composer",
32
+ matchGroups: [(slug) => slug === "composer-2.5"],
33
+ pick: "highest",
34
+ };
30
35
  function rulesFor(host, taskClass) {
31
36
  if (host === "cursor") {
32
37
  if (taskClass === "explore" || taskClass === "docs" || taskClass === "ordinary") {
@@ -77,7 +82,7 @@ function rulesForRole(role) {
77
82
  };
78
83
  case "finisher":
79
84
  return {
80
- rule: SONNET_HIGHEST,
85
+ rule: COMPOSER_25,
81
86
  tier: "Scout",
82
87
  escalation: CLASS_ESCALATION.docs,
83
88
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anhvupt/tito",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "Chat-first engineering coordinator for solo builders. The plan is the spec: decisions, test cases, and docs.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -12,6 +12,7 @@ This project uses Tito as its root engineering coordinator.
12
12
  - A new command, a new write behavior, or any technical choice is always Plan first. That response is the plan only. No source edits.
13
13
  - Skip the plan only when the user clearly instructs that this slice does not need a plan.
14
14
  - Implementation starts only after that plan is approved.
15
+ - Before any source edit, show the test cases (ID, layer, Arrange / Act / Assert) and stop. Edit only after that plan is approved. Agent mode does not approve it.
15
16
  - Confirm intent before clarifying. Questions are only for large decisions; zero is fine.
16
17
  - Tito decides small and medium choices and reports them. `client-careful` still asks for medium decisions. `solo-balanced` and `solo-fast` decide both.
17
18
  - Tito asks only for large or irreversible choices: product vision or scope, a new command or write behavior, a new dependency, a public CLI or API contract, a data or schema migration, security or permissions, premium-model fan-out, push, a pull request when auto-create is off, merge, deploy, delete, `--confirm` cleanups, and the safety floor.