694 Commits

Author SHA1 Message Date
nrs
4a4a8efaf7
policy: enforce abstraction level consistency in orchestration functions (#362)
- Add orchestration function guidance to 'Keep Abstraction Levels Consistent'
  section in coding policy (ja/en) — no #### nesting, integrated as paragraph
  - Criterion: whether branch belongs at the function's abstraction level
  - Concrete bad/good examples using pipeline pattern
- Add 1-line behavioral guideline to architecture-reviewer persona (ja/en)
  - ja: 関数の責務より低い粒度の分岐が混入していたら見逃さない
  - en: Do not overlook branches below a function's responsibility level
2026-02-22 20:32:53 +09:00
nrs
f557db0908
feat: support --create-worktree in pipeline mode (#361)
Pipeline mode previously ignored the --create-worktree option.
Now when --create-worktree yes is specified with --pipeline,
a worktree is created and the agent executes in the isolated directory.

- Add createWorktree field to PipelineExecutionOptions
- Pass createWorktreeOverride from routing to executePipeline
- Use confirmAndCreateWorktree when createWorktree is true
- Execute task in worktree directory (execCwd) instead of project cwd
2026-02-22 20:32:36 +09:00
nrslib
a5e2badc0b fix: Claude resume候補をjsonlフォールバックで取得 2026-02-22 17:54:15 +09:00
nrs
134b666480
Merge pull request #350 from tomohisa/fix/worktree-dir-plural
fix: use plural 'takt-worktrees' as default clone directory name
2026-02-22 17:41:21 +09:00
nrs
077d19a6b0
Merge pull request #355 from s-kikuchi/takt/20260222T0402-tasuku-purojekuto-takt-config
fix: Project-level model config ignored — getLocalLayerValue missing model case
2026-02-22 17:35:33 +09:00
nrs
1d6770c479
Merge pull request #344 from tomohisa/feat/auto-sync-before-clone
feat: opt-in auto_fetch and base_branch config for clone
2026-02-22 17:29:39 +09:00
nrslib
2a3ff222b8 ci: PR時にlint, test, e2e:mockを必須チェックとして実行 2026-02-22 17:21:22 +09:00
kikuchi
753deb6539 fix: Project-level model config ignored — getLocalLayerValue missing model case 2026-02-22 13:49:32 +09:00
nrslib
e57612d703 ci: tag PR head SHA instead of merge commit for hotfix support 2026-02-22 12:32:15 +09:00
nrslib
717afd232f fix: remove non-existent ensemble→repertoire breaking change from CHANGELOG 2026-02-22 12:29:50 +09:00
nrs
d2c4acd3de
Merge pull request #353 from nrslib/release/v0.22.0
Release v0.22.0
v0.22.0
2026-02-22 12:18:53 +09:00
nrslib
dcf29a86c2 Merge remote-tracking branch 'origin/main' into release/v0.22.0 2026-02-22 12:15:07 +09:00
nrslib
709e81fe16 Release v0.22.0 2026-02-22 12:14:58 +09:00
nrslib
c630d78806 refactor: rename ensemble to repertoire across codebase 2026-02-22 10:50:50 +09:00
nrslib
a59ad1d808 docs: add ensemble package documentation (en/ja) 2026-02-22 08:16:20 +09:00
nrslib
6a42bc79d1 fix: remove internal spec doc, add missing e2e tests 2026-02-22 08:14:37 +09:00
nrslib
d04f27df79 fix: restore accidentally deleted takt-pack-spec.md 2026-02-22 08:12:34 +09:00
nrslib
53a465ef56 fix: update deploySkill for facets layout, add piped stdin confirm support 2026-02-22 08:12:00 +09:00
nrslib
3e9dee5779 Release v0.22.0 2026-02-22 08:07:54 +09:00
Tomohisa Takaoka
1d7336950e feat: opt-in auto_fetch and base_branch config for clone
Replace the always-on syncDefaultBranch with opt-in resolveBaseBranch:

- Add auto_fetch config (default: false) — only fetch when enabled
- Add base_branch config (project and global) — fallback to current branch
- Fetch-only mode: git fetch origin without modifying local branches
- Use fetched commit hash (origin/<base_branch>) to reset clone to latest
- No more git merge --ff-only or git fetch origin main:main

Config example:
  # ~/.takt/config.yaml or .takt/config.yaml
  auto_fetch: true
  base_branch: develop

Addresses review feedback: opt-in behavior, no local branch changes,
configurable base branch with current-branch fallback.
2026-02-21 12:30:26 -08:00
nrslib
9e3fb5cf16 fix: validate override piece via resolver including ensemble scope 2026-02-22 02:47:11 +09:00
nrslib
102f31447a refactor: rename faceted to facets across package layout 2026-02-22 02:40:33 +09:00
nrslib
8930688a95 fix: simplify package content check and facets label 2026-02-22 02:39:25 +09:00
nrslib
9e6e7e3550 update message 2026-02-22 02:27:47 +09:00
nrslib
cb0b7a04ca fix: resolve ensemble build type errors 2026-02-22 02:19:18 +09:00
nrslib
f6d3ef3ec1 facet: implement/fixにビルド(型チェック)必須ゲートを追加
テスト中心の品質ゲートではtscでしか検出できない型エラーを
取りこぼしていたため、ビルド確認を必須項目として追加
2026-02-22 02:18:10 +09:00
nrslib
05865eb04e refactor: centralize ensemble manifest filename constant 2026-02-22 02:07:32 +09:00
nrslib
b6e3c7883d feat: implement ensemble package import and faceted layout 2026-02-22 02:05:48 +09:00
Tomohisa Takaoka
2e72054c0d fix: use plural 'takt-worktrees' as default clone directory name
The default clone base directory was 'takt-worktree' (singular), which is
inconsistent since multiple worktrees are created inside it.

Changed to 'takt-worktrees' (plural) while maintaining backward compatibility:
- If existing 'takt-worktree' directory exists, continue using it
- New installations will use 'takt-worktrees'
- Explicit worktree_dir config always takes priority
2026-02-21 08:47:42 -08:00
nrslib
fa42ef7561 facet: 契約文字列のハードコード散在を防止するルールを追加
ポリシー・実装インストラクション・アーキテクチャレビューの3箇所に
ファイル名・設定キー名などの契約文字列を定数で一箇所管理するルールを追加。
2026-02-22 00:32:11 +09:00
nrslib
9103a93fee docs: add Discord community link to README 2026-02-21 22:10:30 +09:00
nrslib
75ce583d0b fix: イテレーション入力待ち中のpoll_tickログ連続出力を抑制
入力待ちフラグ(enterInputWait/leaveInputWait)を導入し、
selectOption待ち中はワーカープールのポーリングログをスキップする。
入力完了で自動復活。
2026-02-20 23:42:38 +09:00
nrs
4823a9cb83
Merge pull request #343 from nrslib/release/v0.21.0
Release v0.21.0
v0.21.0
2026-02-20 20:02:51 +09:00
nrslib
44f5c7ec17 merge: resolve conflicts with main (keep v0.21.0) 2026-02-20 20:02:06 +09:00
nrslib
3af30e9e18 docs: add sync-with-root menu description to CLI reference 2026-02-20 19:59:55 +09:00
nrslib
dbdaf93498 docs: revert delete-all and sync-with-root from CLI reference 2026-02-20 19:59:22 +09:00
nrslib
52fb385e75 docs: add --draft-pr, --delete-all, sync-with-root to CLI reference 2026-02-20 19:58:13 +09:00
nrslib
01b68d1104 chore: update package-lock.json for v0.21.0 2026-02-20 19:50:58 +09:00
nrslib
eda5f3d2e3 fix: clear TAKT_CONFIG_DIR in vitest config to isolate tests from host environment 2026-02-20 19:33:18 +09:00
nrslib
6ee28e63a9 Release v0.21.0 2026-02-20 18:47:01 +09:00
nrslib
192077cea8 ci: 依存パッケージの破損を検知する定期チェックを追加 2026-02-20 13:49:18 +09:00
nrs
a89099e819
Merge pull request #337 from nrslib/release/v0.20.1
Release v0.20.1
v0.20.1
2026-02-20 13:41:41 +09:00
nrslib
3624636dba Release v0.20.1 2026-02-20 13:41:03 +09:00
nrslib
76a65e7c0e Merge remote-tracking branch 'origin/main' into develop 2026-02-20 13:38:46 +09:00
nrs
d502e8db8d
Merge pull request #329 from tomohisa/fix/pin-opencode-sdk-version
fix: pin @opencode-ai/sdk to <1.2.7 to fix broken v2 exports
2026-02-20 13:37:45 +09:00
nrslib
291e05a24d fix: prevent romaji conversion stack overflow on long task names 2026-02-20 12:43:40 +09:00
nrslib
67f6fc685c fix: opencodeの2ターン目ハングを修正し会話継続を実現
streamAbortController.signalをcreateOpencodeに渡していたため、
各callのfinallyでabortするとサーバーが停止し2ターン目がハングしていた。
signalをサーバー起動から除外し、sessionIdの引き継ぎを復元することで
複数ターンの会話継続を実現した。
2026-02-20 12:40:17 +09:00
Tomohisa Takaoka
26372c0091 fix: pin @opencode-ai/sdk to <1.2.7 to fix broken v2 exports
@opencode-ai/sdk versions 1.2.7+ have a broken build where dist/v2/
directory is missing (files are incorrectly placed under dist/src/v2/
instead). This causes 'Cannot find module' errors when running takt
installed via npm install -g.

The v2 export path '@opencode-ai/sdk/v2' resolves to dist/v2/index.js
per the package's exports map, but that file does not exist in 1.2.7+.

Pinning to <1.2.7 as a workaround until the SDK package is fixed.
2026-02-19 19:33:58 -08:00
nrs
b9dfe93d85
takt: add-sync-with-root (#325) 2026-02-20 11:58:48 +09:00
nrs
dec77e069e
add-model-to-persona-providers (#324)
* takt: add-model-to-persona-providers

* refactor: loadConfigを廃止しresolveConfigValueにキー単位解決を一元化

loadConfig()による一括マージを廃止し、resolveConfigValue()でキーごとに
global/project/piece/envの優先順位を宣言的に解決する方式に移行。
providerOptionsの優先順位をglobal < piece < project < envに修正し、
sourceトラッキングでOptionsBuilderのマージ方向を制御する。
2026-02-20 11:12:46 +09:00