From cf6ada196fd6523ba1f78d405d7a995b7e8a678a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 13 Apr 2026 12:13:12 +0000 Subject: [PATCH 1/7] chore(main): release pai-opencode 4.0.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 323 ++++++++++++++++++++++++++++++++++ package.json | 2 +- 3 files changed, 325 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index d4f6f299..e6f87756 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "3.0.0" + ".": "4.0.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 57180991..149c281c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,329 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 --- +## [4.0.0](https://github.com/Steffen025/pai-opencode/compare/pai-opencode-v3.0.0...pai-opencode-v4.0.0) (2026-04-13) + + +### ⚠ BREAKING CHANGES + +* **wp-m1:** Removes the model_tiers feature and the dependency on the Steffen025/opencode fork. PAI-OpenCode now runs on vanilla OpenCode from opencode.ai. Each agent has exactly one model configured in opencode.json (no more quick/standard/advanced tier sub-blocks). The model_tier parameter is removed from Task tool invocations. +* **pai-2.5:** Renamed skills/CORE to skills/PAI + +### Features + +* **algorithm:** Port Algorithm v3.7.0 from upstream PAI v4.0.3 ([99462c6](https://github.com/Steffen025/pai-opencode/commit/99462c648e918f8ac51df85f91adffc1d0cba86f)) +* **ci:** Add professional CI/CD workflows, CodeRabbit, and upstream sync ([61efd46](https://github.com/Steffen025/pai-opencode/commit/61efd46fb862267ac9334844cf875a2b0e629b30)) +* complete work session intelligence port (Phases 2-5) ([79036ee](https://github.com/Steffen025/pai-opencode/commit/79036ee8d2ab4fa1e4a8c54c5c85df5e4f9e6db5)), closes [#24](https://github.com/Steffen025/pai-opencode/issues/24) +* **converter:** Interactive mode selection wizard ([81d3d99](https://github.com/Steffen025/pai-opencode/commit/81d3d990dc7a3fb0891c8c5b8d32cbbb38345cbc)) +* **converter:** Version 1.0.0 with selective import mode ([535fc87](https://github.com/Steffen025/pai-opencode/commit/535fc87fbd3be335f91f06a098d70769aeb66012)) +* **core:** v2.4 CORE + Agents Migration ([8a8af91](https://github.com/Steffen025/pai-opencode/commit/8a8af915f328fc7583454247c97dbf650a7c884e)) +* **installer:** add anthropic-max preset for Max/Pro OAuth subscription ([#84](https://github.com/Steffen025/pai-opencode/issues/84)) ([b1b1f0c](https://github.com/Steffen025/pai-opencode/commit/b1b1f0c15833e7d0399ffc53b4bcd2b70a4ce612)) +* **installer:** Add ZEN Provider as default option for free models ([f73e636](https://github.com/Steffen025/pai-opencode/commit/f73e636a0b66a583fd63427e062c7671a4602624)) +* **installer:** hybrid Go installation with automatic fallback ([f1f5a04](https://github.com/Steffen025/pai-opencode/commit/f1f5a04671225ab1aafc34eda46771463b4f7492)) +* **installer:** restore interactive terminal install wizard for v3 ([fc095cd](https://github.com/Steffen025/pai-opencode/commit/fc095cdfff0f33c80f768da92b58965854f17208)) +* **installer:** restore interactive terminal wizard for v3 ([169348c](https://github.com/Steffen025/pai-opencode/commit/169348c70498b65a685d84333be4a6551851ed24)) +* **install:** PAI-Install Electron GUI installer ([1ce431b](https://github.com/Steffen025/pai-opencode/commit/1ce431b05e26828a6da1619fd75d9d491f1c2bda)) +* **install:** PR-01 — PAI-Install Electron GUI Installer (46 neue Dateien) ([aa1daf5](https://github.com/Steffen025/pai-opencode/commit/aa1daf507e4c6f851237bf308a2150e7e5a067da)) +* **install:** Replace bash script with TypeScript Installation Wizard ([1b0aa89](https://github.com/Steffen025/pai-opencode/commit/1b0aa89825d2a1455d1cdf3d7c6e665d2bd49d22)) +* migrate to PAI v3.0 / Algorithm v1.2.0 (version 2.0.0) ([41a00ca](https://github.com/Steffen025/pai-opencode/commit/41a00cac81571b4159c93315f4cabc2f84a6a522)) +* **oauth:** add runtime auto-refresh token bridge ([#85](https://github.com/Steffen025/pai-opencode/issues/85)) ([43adf8d](https://github.com/Steffen025/pai-opencode/commit/43adf8d677d8fb72752735638d3ec8cd23d3edf6)) +* **onboarding:** Add personalization workflow + fix install.sh provider config ([ea4a0ef](https://github.com/Steffen025/pai-opencode/commit/ea4a0ef7ff2062db48021cd32c67991e2d575588)) +* **pai-2.5:** complete PAI 2.5 upgrade with ISCValidator ([f388d62](https://github.com/Steffen025/pai-opencode/commit/f388d621ef0ed3dc415e21b8b3158a7df37e2453)) +* PAI-OpenCode v1.0.0 - Production Ready Release ([39d3141](https://github.com/Steffen025/pai-opencode/commit/39d314108a561dd0fbf085e2eecfa0c594f9bccf)) +* **pai:** Revised WP1 - Correct PAI 4.0.3 Core Port ([5499d15](https://github.com/Steffen025/pai-opencode/commit/5499d1595f9a8075249411d8ee5925b1faabab25)) +* **pai:** Revised WP1 - Correct PAI 4.0.3 Core Port ([1571f0a](https://github.com/Steffen025/pai-opencode/commit/1571f0a49c0d88e9fa583af621e6aae2f813404f)) +* **pai:** separate pai command from opencode ([6f1eab3](https://github.com/Steffen025/pai-opencode/commit/6f1eab3c5e6a2703f26104b2080488997cf2236f)) +* **plugins:** v1.0 Handler System - 80% PAI 2.4 Hook Coverage ([f092273](https://github.com/Steffen025/pai-opencode/commit/f0922731fff23ca9784a914f1ec2e5da5506ffe0)) +* reorganize skills into Utilities/ namespace (Teil 1) ([8a4140d](https://github.com/Steffen025/pai-opencode/commit/8a4140d450cd4f8604d38209997dae7b4072e0c4)) +* replace claude CLI spawn with provider-agnostic fetch in Inference.ts ([a21a707](https://github.com/Steffen025/pai-opencode/commit/a21a707177895d22c01fec18a60735f8c7bca726)), closes [#17](https://github.com/Steffen025/pai-opencode/issues/17) +* **skills:** Add 10 new PAI v2.4 skills ([671dd27](https://github.com/Steffen025/pai-opencode/commit/671dd276767c8757d97166f1ce7b1187fc96605f)) +* **skills:** Add System skill from PAI 2.3 ([b634a38](https://github.com/Steffen025/pai-opencode/commit/b634a381b8017ce5a0c821e60267acb495dabe29)) +* **skills:** Add v2.4 nested skill structures ([b5f779e](https://github.com/Steffen025/pai-opencode/commit/b5f779ed2d1adaf72467dbbf966daf2c143f915a)) +* upstream sync Algorithm v1.2.0 → v1.8.0 (14 commits) ([9e0c9dd](https://github.com/Steffen025/pai-opencode/commit/9e0c9dd432f6292bfe349d390f1da0cfd3d71c2b)) +* Utilities Teil 2 + Scraping + Content reorganization (84 files) ([d1daeab](https://github.com/Steffen025/pai-opencode/commit/d1daeabd3e3b63cd7448850c687aef6063a373b7)) +* **v1.1:** add voice-server + fix documentation consistency ([a7a7509](https://github.com/Steffen025/pai-opencode/commit/a7a750917e908390512f22493eb3b4b70eee82c1)) +* **v1.1:** port PAI 2.5 handlers - voice, sentiment, tabstate, counts, capture ([63b1b2f](https://github.com/Steffen025/pai-opencode/commit/63b1b2f9929026497ba42ce4c816f0585b22e5fb)) +* **v1.2.1:** provider profile system + multi-provider research ([d098155](https://github.com/Steffen025/pai-opencode/commit/d098155c7e3b5024ecfd923a2c676811b333e9e1)), closes [#14](https://github.com/Steffen025/pai-opencode/issues/14) +* **v1.2:** Real-Time Observability Dashboard ([#12](https://github.com/Steffen025/pai-opencode/issues/12)) ([fa61290](https://github.com/Steffen025/pai-opencode/commit/fa612900afcf669192e8693e14142a19f2113f91)) +* **v1.3.0:** Multi-Provider Agent System with model tiers and 3 presets ([f4f37ee](https://github.com/Steffen025/pai-opencode/commit/f4f37ee26a3a7928801608d03d7a38ae7e1fdece)) +* **v1.3.0:** Multi-Provider Agent System with model tiers and 3 presets ([a1f7d80](https://github.com/Steffen025/pai-opencode/commit/a1f7d80be68bb518f7eca4ebe60d941b6c928277)), closes [#19](https://github.com/Steffen025/pai-opencode/issues/19) +* v2.0.0 release — hero banner, release notes, community announcement ([2579678](https://github.com/Steffen025/pai-opencode/commit/25796782b28c77d95aaded57ea9d0b80ae3c4a40)) +* **wp-a:** Port missing hooks, add Bus events, audit all handlers ([8e9e45e](https://github.com/Steffen025/pai-opencode/commit/8e9e45e28e802e6cc44f32a96ec5133d22988e3a)) +* **wp-a:** Port missing hooks, Bus events, complete handler audit ([5758038](https://github.com/Steffen025/pai-opencode/commit/575803889c68df971be5beaee6e4187998662ae5)) +* **wp-d:** add v2→v3 migration script (Phase 3) ([1a9749c](https://github.com/Steffen025/pai-opencode/commit/1a9749cd77afb30772b56324ec948b044b2c949d)) +* **wp-d:** implement DB Health tooling (WP-F integrated, Phase 4) ([e519c0d](https://github.com/Steffen025/pai-opencode/commit/e519c0de640a548ad8c217f0c2a82a4dccd79b40)) +* **wp-d:** port PAI-Install from upstream v4.0.3 (Phase 2) ([c7de65c](https://github.com/Steffen025/pai-opencode/commit/c7de65c4510352969fe41fe8a31b997f4d69a8c0)) +* **wp-e:** Add Electron UI flow routing for fresh/migrate/update modes ([8dcd375](https://github.com/Steffen025/pai-opencode/commit/8dcd375683bf60ca7093ffd4cd2fc90d19c9d452)) +* **wp-e:** Add Google TTS support to voice configuration ([0730e16](https://github.com/Steffen025/pai-opencode/commit/0730e16da406778f3f6c1ce00da58ce2fd8e5d63)) +* **wp-e:** Implement symlink-based installation architecture ([246d3ae](https://github.com/Steffen025/pai-opencode/commit/246d3aeefb4970f37613ffc4642fd16a3e6b92bf)) +* **wp-e:** Installer Refactor — Electron-first architecture ([591f5d8](https://github.com/Steffen025/pai-opencode/commit/591f5d87635279dd88877af29ebfade3f0a6e23a)) +* **wp-m1:** bury model_tiers, migrate to vanilla OpenCode ([f814f94](https://github.com/Steffen025/pai-opencode/commit/f814f94fb7d86eef381068fb47b08626d3c1da52)) +* **wp-m1:** bury model_tiers, migrate to vanilla OpenCode (v3.0 BREAKING) ([3388c10](https://github.com/Steffen025/pai-opencode/commit/3388c103dcf27a8e6bf74fa9529386913636ad8f)) +* **wp-n1:** Session Registry implementation ([aaa4124](https://github.com/Steffen025/pai-opencode/commit/aaa4124c7c101b387743568c261251a187584e76)) +* **wp-n1:** Session Registry implementation ([0a30010](https://github.com/Steffen025/pai-opencode/commit/0a30010bb80c792d5cf3830832314244f65e11b6)) +* **wp-n2:** Compaction Intelligence ([8381a1d](https://github.com/Steffen025/pai-opencode/commit/8381a1dd8e3577b15f9755cde6f571e95b83de54)) +* **wp-n2:** Implement Compaction Intelligence with clear documentation ([604c1e9](https://github.com/Steffen025/pai-opencode/commit/604c1e927ff5f213528893fea70d0d7d25305306)) +* **wp-n3:** Algorithm Awareness ([4f63037](https://github.com/Steffen025/pai-opencode/commit/4f630375f6527e4d3e24bda2fda6b8876733c62f)) +* **wp-n3:** Algorithm Awareness Implementation ([f074581](https://github.com/Steffen025/pai-opencode/commit/f0745818e165fb1d05b15a8b234d6554a73fbd82)) +* **wp-n4:** LSP + Fork Documentation ([5275f37](https://github.com/Steffen025/pai-opencode/commit/5275f3771000d9237b9e2a787c998359f196e98b)) +* **wp-n4:** LSP + Fork Documentation ([dc39660](https://github.com/Steffen025/pai-opencode/commit/dc3966038fbe6bb65bbf300e16d89d6054611f6d)) +* **wp-n5:** Plan Update — sync all docs to WP-N1..N4 complete ([a7a0065](https://github.com/Steffen025/pai-opencode/commit/a7a00653052b5ee932ca4d1409fa3e668479ac34)) +* **wp-n5:** Plan Update — sync docs to WP-N1..N4 complete ([56fd00c](https://github.com/Steffen025/pai-opencode/commit/56fd00c8366feb0fa05feb16ffa3510726e1ac3b)) +* **wp-n6:** System Self-Awareness — OpenCodeSystem skill, 4 arch docs, ADR-017 ([6512463](https://github.com/Steffen025/pai-opencode/commit/651246371a3701a11c01915a4d176a2ceebe0a89)) +* **wp-n6:** System Self-Awareness — OpenCodeSystem skill, 4 architecture docs, ADR-017 ([5db8e44](https://github.com/Steffen025/pai-opencode/commit/5db8e44b404af7ef0f51e713370ca4aaf6e4bcfb)) +* **wp-n7:** Add roborev code review + Biome CI pipeline ([a8893fd](https://github.com/Steffen025/pai-opencode/commit/a8893fdc15e13ca68dfa1ccacf41af411956cf32)) +* **wp-n7:** roborev code review + Biome CI pipeline ([4cfdda6](https://github.com/Steffen025/pai-opencode/commit/4cfdda6f1e3ae4ea46ee6642ee3ed7ebbcc36051)) +* **wp-n8:** Obsidian formatting guidelines + agent capability matrix ([050e632](https://github.com/Steffen025/pai-opencode/commit/050e632379111d42e87cca4d0ffd6b0873f16a77)) +* **wp-n8:** Obsidian formatting guidelines + agent capability matrix ([27ab29f](https://github.com/Steffen025/pai-opencode/commit/27ab29fc56044fd256507042f2f66f4b5ee9ce71)) +* **wp1:** Add OpenCode workdir documentation to Algorithm ([0aa5f33](https://github.com/Steffen025/pai-opencode/commit/0aa5f3384966535eb79eba3ba170ef2c73b0c4e9)) +* **wp1:** Add OpenCode workdir documentation to Algorithm ([0b31256](https://github.com/Steffen025/pai-opencode/commit/0b312563cd028a33c2896d79b1c1f7fcc9aa6494)) +* **wp2:** Context Modernization - Lazy Loading ([7fac96a](https://github.com/Steffen025/pai-opencode/commit/7fac96a473f78e74cb590cc7f14c81142ef37e81)) +* **wp2:** Hybrid Algorithm loading - Essence + Lazy Load ([9bcc907](https://github.com/Steffen025/pai-opencode/commit/9bcc907e802773a50dcace2989b467a153a2df6c)) +* **wp3:** Add Part B - Security, Scraping, Telos, USMetrics categories ([e39c188](https://github.com/Steffen025/pai-opencode/commit/e39c1884159e75c62fed81f5548031f5697b9f03)) +* **wp3:** Add Part C - Thinking and Utilities categories (WP3 COMPLETE) ([bfc4d44](https://github.com/Steffen025/pai-opencode/commit/bfc4d44fead581bb316b41c8682537bfd62483be)) +* **wp3:** Create hierarchical category structure - Part A ([8f770d7](https://github.com/Steffen025/pai-opencode/commit/8f770d70b8e54aca57d8dcfa36cb4e7d2bf262b1)) +* **wp3:** Create hierarchical category structure - Part A ([d71012a](https://github.com/Steffen025/pai-opencode/commit/d71012a45a3c3caeb52c3d4fe187858a597db30b)), closes [#31](https://github.com/Steffen025/pai-opencode/issues/31) +* **wp4:** Phase 2 - Update plugin handlers for hierarchical skills ([54cca23](https://github.com/Steffen025/pai-opencode/commit/54cca23797f364d51677660efb246417d0bd3b6e)) +* **wp4:** Phase 3 - Skill Discovery Enhancement ([b0ef059](https://github.com/Steffen025/pai-opencode/commit/b0ef059c4340f42c03760c6209ee2aea0b9a7c24)) + + +### Bug Fixes + +* **actions/pai:** validate --mode value before accepting local|cloud ([6a87c29](https://github.com/Steffen025/pai-opencode/commit/6a87c29c5c0c7de528b21cc3ae06c84c51c058b8)) +* **actions/runner.v2:** use path.sep in isContained for Windows compat, add type checking to simplified input validation ([8511bd8](https://github.com/Steffen025/pai-opencode/commit/8511bd8aa8a0f55023dc613eeecd79b7f13d18a6)) +* **actions/runner.v2:** validate output schema after execute, use Bun Shell directly for cross-platform shell cap ([d019beb](https://github.com/Steffen025/pai-opencode/commit/d019beb9789feb9ad3ebe2b21e26eb3c591f1465)) +* **actions/runner:** alphabetize imports, use ctx.env for CF_ACCOUNT_SUBDOMAIN, replace glob with Bun.Glob ([3e47001](https://github.com/Steffen025/pai-opencode/commit/3e47001588b13494d653a53cf1a3455ddd58bb86)) +* **actions/runner:** use fs.access() pre-check in loadAction, normalize POSIX paths in listActions ([025fa57](https://github.com/Steffen025/pai-opencode/commit/025fa57298e04a0cd274686f5c01d3da39eb814a)) +* **actions:** fail fast when CF_ACCOUNT_SUBDOMAIN is missing for cloud dispatch ([f59313a](https://github.com/Steffen025/pai-opencode/commit/f59313a5d76f2e563c924af4e345795c2e99b33c)) +* **actions:** switch CLI to runner.v2, fix listPipelines filter, fix info command ([e61552e](https://github.com/Steffen025/pai-opencode/commit/e61552eeb3da6853083e017dacdc7cea814d01ae)) +* add missing bun install step to wizard and README Quick Start ([2fb355e](https://github.com/Steffen025/pai-opencode/commit/2fb355e32ed6d8c79acbb46d763d7da37874c899)) +* add pragma allowlist secret to env var reads in Art Tools (CI secrets scanner) ([5490ad0](https://github.com/Steffen025/pai-opencode/commit/5490ad081492a38c98b294179a146db451e3f62b)) +* Address all 43 CodeRabbit findings in PR [#47](https://github.com/Steffen025/pai-opencode/issues/47) ([ccc755c](https://github.com/Steffen025/pai-opencode/commit/ccc755ce574bb2031cf778181f400e5e9f657107)) +* Address all CodeRabbit critical and major issues in PR [#46](https://github.com/Steffen025/pai-opencode/issues/46) ([34f428c](https://github.com/Steffen025/pai-opencode/commit/34f428c7beab362fd3d7c49e708a3aeb8646dcd3)) +* Address all remaining CodeRabbit major and minor issues in PR [#46](https://github.com/Steffen025/pai-opencode/issues/46) ([b303355](https://github.com/Steffen025/pai-opencode/commit/b303355f4dc71ca2aa79732fdfcd633433eb5b2f)) +* address CodeRabbit review findings for PAI-Install ([2129268](https://github.com/Steffen025/pai-opencode/commit/2129268816fa397c3e467937b33914329632314a)) +* address CodeRabbit Round 1 review findings ([ed6c1b7](https://github.com/Steffen025/pai-opencode/commit/ed6c1b797005a83e94bba6996d64a6a69509c632)) +* address CodeRabbit Round 2 review findings ([96f70aa](https://github.com/Steffen025/pai-opencode/commit/96f70aa4f7a34aaa36e77782231251ecb7a9cd14)) +* address CodeRabbit Round 3 review findings ([c9839e8](https://github.com/Steffen025/pai-opencode/commit/c9839e88c31f44f10abcfd6baa51f73029534392)) +* address CodeRabbit Round 4 verified findings ([62de050](https://github.com/Steffen025/pai-opencode/commit/62de050f7f56f073e9276949cf89ae538ac51e05)) +* Address new CodeRabbit commentary (15 additional issues) ([402d0df](https://github.com/Steffen025/pai-opencode/commit/402d0df6e37520c83c8e1dc6c3391d36dc7aeaef)) +* **adr-004:** replace console.* with fileLog in plugins ([946aa66](https://github.com/Steffen025/pai-opencode/commit/946aa666c37c9c231ebea50530a27ea9d0b91ad6)) +* **agents:** Convert all color names to hex format ([16f309c](https://github.com/Steffen025/pai-opencode/commit/16f309c37e261adb59837cca7db8d80d519894ac)) +* **agents:** Use full model ID format for OpenCode compatibility ([dad3ee5](https://github.com/Steffen025/pai-opencode/commit/dad3ee5a23dfcfb7c471687f1dcf0c87968923cc)) +* **algorithm:** Address Code Rabbit review findings on PR [#32](https://github.com/Steffen025/pai-opencode/issues/32) ([fcb59a8](https://github.com/Steffen025/pai-opencode/commit/fcb59a8d5b19d2d7e124debfb2ffcdace2f7e098)) +* Anthropic Max Subscription API blocking workaround ([6934c7f](https://github.com/Steffen025/pai-opencode/commit/6934c7f95df566c18409c40c692b710ff2932a51)), closes [#8](https://github.com/Steffen025/pai-opencode/issues/8) +* apply CodeRabbit auto-fixes ([c231cd5](https://github.com/Steffen025/pai-opencode/commit/c231cd571f926a6b8537e3862ca61e8d27365f11)) +* apply CodeRabbit auto-fixes ([88b194c](https://github.com/Steffen025/pai-opencode/commit/88b194ca973c63f86262c992d4eecb3fc569a261)) +* apply CodeRabbit auto-fixes ([ebb31ca](https://github.com/Steffen025/pai-opencode/commit/ebb31ca51a93dd4657028b58ed337548429074f2)) +* apply CodeRabbit auto-fixes ([3345bca](https://github.com/Steffen025/pai-opencode/commit/3345bcaabec80fc845fb63ca39beecc2ff8e3270)) +* apply CodeRabbit auto-fixes ([246fd0c](https://github.com/Steffen025/pai-opencode/commit/246fd0c56b94e0e0c9cee5ad7c5231cffd6d2532)) +* **biome:** widen file includes to cover root TS/JS/JSON in addition to ACTIONS ([3c1ee64](https://github.com/Steffen025/pai-opencode/commit/3c1ee64b5184f17ee52e6a9e531aeca5fa2575e2)) +* **bugbountytool:** address CodeRabbit round-2 findings ([ec120a3](https://github.com/Steffen025/pai-opencode/commit/ec120a3c990a333a62695e1d5454df218a41d351)) +* **bugbountytool:** address CodeRabbit round-3 findings ([fe3c683](https://github.com/Steffen025/pai-opencode/commit/fe3c6835d5a984efce79a2c8d49b7e3808c41daf)) +* **bugbountytool:** address CodeRabbit round-4 findings ([471be00](https://github.com/Steffen025/pai-opencode/commit/471be00d26062eb532c2a3cd8ac55cf357af1d31)) +* **bugbountytool:** address CodeRabbit round-5 findings ([5785761](https://github.com/Steffen025/pai-opencode/commit/5785761d079c113907809480c9811cdbfed213c5)) +* **ci+plugins:** fix secret scan false positives and CodeRabbit security findings ([10e1836](https://github.com/Steffen025/pai-opencode/commit/10e183653a9a78a09e6bb237dddc75a2bcf6e995)) +* **ci+plugins:** round-3 CodeRabbit fixes ([bbbf9f1](https://github.com/Steffen025/pai-opencode/commit/bbbf9f1cf2c5242f41f99abe769228bcffe1ad3b)) +* **ci:** add .github to secret scan dirs, fix find not pruning node_modules ([423308e](https://github.com/Steffen025/pai-opencode/commit/423308e2e72e48be6a613338a2e7ba25b8829161)) +* **ci:** add biome.json config scoped to ACTIONS TypeScript code ([adddb5d](https://github.com/Steffen025/pai-opencode/commit/adddb5dd09ef5a071e2cb190e4cb8b28e7fab960)) +* **ci:** add lint script to root package.json for Biome check ([647fa69](https://github.com/Steffen025/pai-opencode/commit/647fa69a119d9b0aec530807085e1b84e7848318)) +* **ci:** Additional Code Rabbit review fixes ([8c40683](https://github.com/Steffen025/pai-opencode/commit/8c4068333451acb1bfdf4acf26b22bfecce91805)) +* **ci:** apply StepSecurity hardening (PR [#106](https://github.com/Steffen025/pai-opencode/issues/106)) + coderabbit corrections ([ab12ccd](https://github.com/Steffen025/pai-opencode/commit/ab12ccda5eebd2d616aefe9b9865edd822022605)) +* **ci:** coderabbit round 2 + add release-please for v3.0 automated releases ([ac6bceb](https://github.com/Steffen025/pai-opencode/commit/ac6bceb202ff7292a4b2b30b93e043d4e731019f)) +* **ci:** correct biome.json schema for v1.x (fix unknown keys) ([683b345](https://github.com/Steffen025/pai-opencode/commit/683b345368fa8b90b433557a935a5215dc76df2c)) +* **ci:** disable biome assist (organizeImports) to avoid sort errors ([ee37d2f](https://github.com/Steffen025/pai-opencode/commit/ee37d2fb7dd04e05e7416a7c1b40a93acd2014b3)) +* **ci:** disable biome formatter check (lint only, no format enforcement) ([1561eab](https://github.com/Steffen025/pai-opencode/commit/1561eabecae9704ca31878747c0816ae3b29b341)) +* **ci:** disable organizeImports in biome.json ([267937e](https://github.com/Steffen025/pai-opencode/commit/267937efd544b60c8039eb70e1a7b74a882e2cea)) +* **ci:** Exclude BountyPrograms.json from secret scan ([3c07ce8](https://github.com/Steffen025/pai-opencode/commit/3c07ce818e42118e86b1e866f62ce8c557f993d9)) +* **ci:** Exclude node_modules from secret scanning ([c145ef1](https://github.com/Steffen025/pai-opencode/commit/c145ef1b48fcb39e15012183cae30718cd66c0a2)) +* **ci:** Final Code Rabbit review fixes ([2da83d5](https://github.com/Steffen025/pai-opencode/commit/2da83d508f5214acc795289e73fe51865eb2c356)) +* **ci:** Improve secret scan with debug output ([a307472](https://github.com/Steffen025/pai-opencode/commit/a307472f7890f666d86da8830e15370b2c965e2a)) +* **ci:** remove organizeImports (unknown key in installed Biome version) ([152c450](https://github.com/Steffen025/pai-opencode/commit/152c450352776c1d3995bdba494de5b73a188d02)) +* **ci:** StepSecurity hardening + CodeRabbit corrections (supersedes [#106](https://github.com/Steffen025/pai-opencode/issues/106)) ([f15c2d6](https://github.com/Steffen025/pai-opencode/commit/f15c2d6967bc2c5499727244c9d4fb1821e07af1)) +* **ci:** update bun.lock to match package.json — remove stale zod and biome entries ([f83d9dc](https://github.com/Steffen025/pai-opencode/commit/f83d9dc225783bd8bdf56fe37e075913c4b2e536)) +* **cli:** FeatureRegistry handle flags correctly in update ([785fefa](https://github.com/Steffen025/pai-opencode/commit/785fefa7b26e417eb0495baa301d4af432e6da5b)) +* CodeRabbit round-1 — wrong paths, spring shadowing, frames doc, fontSize, import casing ([dddf58a](https://github.com/Steffen025/pai-opencode/commit/dddf58a015eb98115d8c8edf74346ceb2f7cec94)) +* CodeRabbit round-2 — arg bounds checks, NaN guards, path fixes, Remotion delay API ([85e8bf8](https://github.com/Steffen025/pai-opencode/commit/85e8bf878e53d7c6354a4859ea67976b992328d6)) +* CodeRabbit round-2 + CI secrets scanner false positives ([d241112](https://github.com/Steffen025/pai-opencode/commit/d2411121b0846eb7d17108ee33ed04061701065c)) +* CodeRabbit round-3 — 13 bugs across BannerMatrix/FailureCapture/YouTubeApi/Analyze/ExtractTranscript ([e757cb7](https://github.com/Steffen025/pai-opencode/commit/e757cb747d164c827c8fbbf2e7a3d87ce9750a44)) +* CodeRabbit round-3 — TIMESTAMP consistency + MD040 fences in AdHocYouTubeThumbnail ([083349c](https://github.com/Steffen025/pai-opencode/commit/083349c2acb26d8c110c3279b8623a3ac7dbdfdd)) +* CodeRabbit round-4 — 8 bugs across ExtractTranscript/FailureCapture/YouTubeApi/Analyze ([45637ee](https://github.com/Steffen025/pai-opencode/commit/45637eead8d9425190c5ad8f42cda1da89afe833)) +* CodeRabbit round-4 — normalize {timestamp} to ${TIMESTAMP} on line 342 ([10d325b](https://github.com/Steffen025/pai-opencode/commit/10d325b51650c87b06d1ccb18905c8109cd4ff0e)) +* CodeRabbit round-5 — timeout, strict int, arg parse, clearTimeout finally, 8-word strict ([839ef2e](https://github.com/Steffen025/pai-opencode/commit/839ef2ee97c53fd0d7c2972fa604e7c23ce3db56)) +* complete work session intelligence port ([81d7d93](https://github.com/Steffen025/pai-opencode/commit/81d7d933238e113ea9e0588214b5cbaf52a0aa6c)) +* **config:** Change 'plugins' to 'plugin' (correct schema key) ([4fad315](https://github.com/Steffen025/pai-opencode/commit/4fad31548aae3abfcc00d9cbb8fe0212e25c66b2)) +* **config:** Remove plugin array - use auto-discovery instead ([90bb6a2](https://github.com/Steffen025/pai-opencode/commit/90bb6a2722129dc7d0471753a7d13ce3327f3a7a)) +* **core:** OpenCode-native architecture — zero bootstrap, Zen free default ([d5421a2](https://github.com/Steffen025/pai-opencode/commit/d5421a269cd8543505bebd2b9ceafd1941475cb4)) +* **core:** OpenCode-native architecture — zero bootstrap, Zen free default ([406dac2](https://github.com/Steffen025/pai-opencode/commit/406dac2ef8bf63f38b1a70cf5341183cf71adb12)) +* correct explore agent type case-sensitivity and update agent mapping ([1a3823a](https://github.com/Steffen025/pai-opencode/commit/1a3823a5e024697fdf23f5e513ab3b636c6bb540)) +* crash fixes, wizard build-from-source rewrite, simplified versioning (v1.3.1) ([5c0ff65](https://github.com/Steffen025/pai-opencode/commit/5c0ff652d02d642158411913e3368c16dfe664a8)), closes [#21](https://github.com/Steffen025/pai-opencode/issues/21) +* **defaults:** ship with big-pickle only + clarify two-step provider setup ([428275c](https://github.com/Steffen025/pai-opencode/commit/428275c3fc5cd303a0d6136f648b77e7009c93db)) +* **deps:** add ajv to .opencode/package.json for action schema validation ([d0dab5e](https://github.com/Steffen025/pai-opencode/commit/d0dab5ec28c940953f0763153cf91c69b54db1e7)) +* **docs:** address CodeRabbit round-2 findings — callouts, file count, Mermaid ([f429a69](https://github.com/Steffen025/pai-opencode/commit/f429a69fd4472d15d5e2ea2b8c70a312706a6cae)) +* **docs:** address CodeRabbit round-3 — correct PR-12 count to 18, fix diagram branch, add sed portability, MD028, Mermaid diagram ([e484aae](https://github.com/Steffen025/pai-opencode/commit/e484aaeec3523026b061577a31d47d8f5b54a5ac)) +* **docs:** align changelog and installer CLI flags ([db20343](https://github.com/Steffen025/pai-opencode/commit/db2034300a47b8bc53565991ace9d8ec9a151811)) +* **docs:** correct THEHOOKSYSTEM/THEPLUGINSYSTEM reality in all planning docs ([cba9e0f](https://github.com/Steffen025/pai-opencode/commit/cba9e0fde1fdb8ba5e031d5926bd1e317877de52)) +* **docs:** fix remaining stale +16 → +17 in statistics tables ([b23711e](https://github.com/Steffen025/pai-opencode/commit/b23711ee4d929e0aa8bc92498f377dcfe8bb9ff2)) +* **docs:** update GitPush.md remote references from .claude to .opencode ([9293b34](https://github.com/Steffen025/pai-opencode/commit/9293b34fb5b20f2055ae7f68042946fdeaa743f5)) +* enable websearch, codesearch, webfetch built-in tools ([756a38c](https://github.com/Steffen025/pai-opencode/commit/756a38c14104b62b778956056fc291b510dbe475)), closes [#9](https://github.com/Steffen025/pai-opencode/issues/9) +* exclude skill Tools directories from bundle ([ddb2875](https://github.com/Steffen025/pai-opencode/commit/ddb287576def88c87a769a47715dc124713f4135)) +* **fabric:** correct typos in ask_uncle_duke/system.md ([9714f22](https://github.com/Steffen025/pai-opencode/commit/9714f2209741e4ca005fafb0c9524da25df2d732)) +* filter trivial messages from creating empty work sessions ([17fb4b0](https://github.com/Steffen025/pai-opencode/commit/17fb4b0ef511aa6d61fc230fae1791fcbaa2beb3)), closes [#24](https://github.com/Steffen025/pai-opencode/issues/24) +* **installer:** add Homebrew permission error handling ([f76f3c7](https://github.com/Steffen025/pai-opencode/commit/f76f3c7079f430daf65e400a95b0547deecc1b57)) +* **installer:** address CodeRabbit review findings ([bc367f8](https://github.com/Steffen025/pai-opencode/commit/bc367f83fa15d4a5832b70696f2bddfe9ad45ae1)) +* **installer:** address CodeRabbit round-2 findings ([2aea3e7](https://github.com/Steffen025/pai-opencode/commit/2aea3e73d0a69f132ec693c0397a9e80f3f5e5bc)) +* **installer:** address CodeRabbit round-3 findings ([3ac8640](https://github.com/Steffen025/pai-opencode/commit/3ac8640ae9c1433c9f1fb77d83328b82f561693a)) +* **installer:** address CodeRabbit round-4 findings ([bb99d64](https://github.com/Steffen025/pai-opencode/commit/bb99d64364c7e3e45536dc7543f36d3e6bda4a82)) +* **installer:** address CodeRabbit round-5 findings ([fde092c](https://github.com/Steffen025/pai-opencode/commit/fde092c85fd275abf702f3738665355a18738a34)) +* **installer:** avoid self-symlinking and stop reconnects after completion ([ce7cd64](https://github.com/Steffen025/pai-opencode/commit/ce7cd646431d76ef83cba7375a3cb9bbae23b79f)) +* **installer:** create required dirs, shell alias, and correct settings schema ([ae8b0aa](https://github.com/Steffen025/pai-opencode/commit/ae8b0aa86beb216ed1c26788ab952a0465790bc1)) +* **installer:** create required dirs, shell alias, and correct settings schema ([cfdabba](https://github.com/Steffen025/pai-opencode/commit/cfdabba0e7a7f4dd222cbd93949234ba7d1950f4)) +* **installer:** enforce mode exclusivity and align wizard fallback behavior ([c15d23c](https://github.com/Steffen025/pai-opencode/commit/c15d23c3cec84aee05503369c9837eab72282e18)) +* **installer:** fix input prompts when piped + verify logo patch ([daa5242](https://github.com/Steffen025/pai-opencode/commit/daa52421d12b0268503b91632d7871e080120bd3)) +* **installer:** handle SIGINT prompt cleanup and clarify mode flag errors ([5a6c58a](https://github.com/Steffen025/pai-opencode/commit/5a6c58ab065e201d118e744a62650ae922d6c7c4)) +* **installer:** harden shell wiring and opencode launcher resolution ([52a8a90](https://github.com/Steffen025/pai-opencode/commit/52a8a902add60cbad386e43f7b6de0e91943b70b)) +* **installer:** harden validation and reconnect handling ([4dadb14](https://github.com/Steffen025/pai-opencode/commit/4dadb149f50911140e03cd6faab4e3cee7534ce1)) +* **installer:** harden wizard prompts and dry-run migration flow ([39aa3d2](https://github.com/Steffen025/pai-opencode/commit/39aa3d24a258befe66bc8c27857bd829596932df)) +* **installer:** install .opencode runtime dependencies on fresh/migrate ([372a751](https://github.com/Steffen025/pai-opencode/commit/372a751c1586fa21eb8cfde8dd22a29e7c3c8e98)) +* **installer:** install runtime deps for .opencode tooling ([a0b389e](https://github.com/Steffen025/pai-opencode/commit/a0b389e7d5210ad108d393029ee381070aed7b88)) +* **installer:** make pai/opencode work on fresh machines ([fbcc2f1](https://github.com/Steffen025/pai-opencode/commit/fbcc2f1f5f1b65406527d839954a102475fce701)) +* **installer:** prerequisites display, build hang, validation step, spinner cleanup ([f4ab414](https://github.com/Steffen025/pai-opencode/commit/f4ab414df2a7d2d91f6cee33da5be027dfda5d1b)) +* **installer:** prevent broken pai alias and missing opencode ([1513ac4](https://github.com/Steffen025/pai-opencode/commit/1513ac49ea22d7b198bd1388d9d04821f76bf9d8)) +* **installer:** remove stale pai alias and validate opencode ([fbc5c60](https://github.com/Steffen025/pai-opencode/commit/fbc5c601c40b7aa90bbac7fa793a09c00553f0fa)) +* **installer:** replace stale ~/.opencode links and mute post-install disconnect banner ([6ffdcc6](https://github.com/Steffen025/pai-opencode/commit/6ffdcc69fbc4b23108818344889919a19b3f31c6)) +* **installer:** responsive banner + Go PATH detection ([9085d63](https://github.com/Steffen025/pai-opencode/commit/9085d63bd7ebf85c272e30c583c43263154733d5)) +* **installer:** write fish-compatible pai function ([f05ddeb](https://github.com/Steffen025/pai-opencode/commit/f05ddeb78c3286d7c3e65cb099817eef8d12a44f)) +* **issue-28:** extractTextContent handles message.parts and output.parts ([e5785c4](https://github.com/Steffen025/pai-opencode/commit/e5785c4c767038f3bffd504199888b1ed724fbe0)), closes [#28](https://github.com/Steffen025/pai-opencode/issues/28) +* **lint:** node: imports, no-non-null-assertion, useTemplate in runner.v2.ts ([ee65fa6](https://github.com/Steffen025/pai-opencode/commit/ee65fa61b4541914a6a47ebd2da39e26e5add413)) +* **lint:** node: imports, remove unused readFile, fix switch fallthrough in pai.ts ([972f446](https://github.com/Steffen025/pai-opencode/commit/972f4461ba98a693dca237e668a6740fcd5d3542)) +* **lint:** remove useless continue at end of for loop body (pai.ts:71) ([0182569](https://github.com/Steffen025/pai-opencode/commit/0182569b1cfe0e186c084508b1ff12b0affc19c8)) +* **lint:** use node: import protocol in pipeline-runner.ts ([2a1d8c9](https://github.com/Steffen025/pai-opencode/commit/2a1d8c93fdde60e6a860a06172fd10215129baa5)) +* **lint:** use node: import protocol in runner.ts ([7dd67a3](https://github.com/Steffen025/pai-opencode/commit/7dd67a329a96b66b7ce8da38f34aa25cb1b472e4)) +* **model-config:** Auto-detect provider from opencode.json model field ([d8c029b](https://github.com/Steffen025/pai-opencode/commit/d8c029bb4e977e06b7fdb184d8efc9320be4abf6)) +* **oauth:** silent token refresh — no browser popup ([#88](https://github.com/Steffen025/pai-opencode/issues/88)) ([86d1d6f](https://github.com/Steffen025/pai-opencode/commit/86d1d6f2ecc3f6ddb39ffaccd5ebddc3a5b8d68f)) +* **oauth:** sync full token-bridge with OAuth2 refresh strategy to .opencode and contrib ([#89](https://github.com/Steffen025/pai-opencode/issues/89)) ([9f9c93d](https://github.com/Steffen025/pai-opencode/commit/9f9c93d5ec0363305cbbde321c61918c21821c0c)) +* **pai:** coderabbit review — gitignore, cmdPrompt env, explicit PAI_ENABLED check ([9f789f5](https://github.com/Steffen025/pai-opencode/commit/9f789f5a9aae30448273817645e218bf84a892bd)) +* **plugins:** CodeRabbit round-2 — error handling, shell safety, DB consistency ([6caf7cf](https://github.com/Steffen025/pai-opencode/commit/6caf7cf8916f03df4b2993ee8d1783414be71cd2)) +* **plugins:** round-4 inline CodeRabbit fixes ([63296ba](https://github.com/Steffen025/pai-opencode/commit/63296ba1dbabd9374a7e8e9a60379de4d72211b7)) +* **plugins:** round-5 CodeRabbit hardening ([c8a8bae](https://github.com/Steffen025/pai-opencode/commit/c8a8bae8641f53e1fc7afaab49cd2ffbefde6c70)) +* **plugin:** use ESM import.meta.url instead of __filename ([aeac334](https://github.com/Steffen025/pai-opencode/commit/aeac3349e6cfa5fabbdacfd9907499adef1c49ce)) +* **pr07:** address CodeRabbit Round 1 security findings ([a150931](https://github.com/Steffen025/pai-opencode/commit/a150931bd1c0f34a6de3a4b7b4005b19c7075b53)) +* **pr07:** address CodeRabbit Round 2 findings ([ae8a56b](https://github.com/Steffen025/pai-opencode/commit/ae8a56b7072677906f271f6900178fa52bc08042)) +* **pr07:** address CodeRabbit Round 3 findings ([9dcd7d5](https://github.com/Steffen025/pai-opencode/commit/9dcd7d5388fa33180fc0453f431936849594df5c)) +* **pr07:** address CodeRabbit Round 4 findings ([0e8dee8](https://github.com/Steffen025/pai-opencode/commit/0e8dee8e631050303a40a1b860e890b68e7971b6)) +* **pr08:** address CodeRabbit Round 1 findings ([cc38afd](https://github.com/Steffen025/pai-opencode/commit/cc38afd5bc5a588fe0a0696d7d57448d724047a5)) +* **pr08:** address CodeRabbit Round 2 findings ([65d6953](https://github.com/Steffen025/pai-opencode/commit/65d69536cc606a49ca80533f8a08b11b2bb58cd0)) +* **pr08:** address CodeRabbit Round 3 findings ([2840fd2](https://github.com/Steffen025/pai-opencode/commit/2840fd24c89a49bc99bdcc9fa8dd444dfdcddd94)) +* **pr08:** address CodeRabbit Round 4 findings ([96e23ba](https://github.com/Steffen025/pai-opencode/commit/96e23baaba8113b7cb10f086f9847014d03ef0be)) +* **pr08:** address CodeRabbit Round 5 findings ([c416abd](https://github.com/Steffen025/pai-opencode/commit/c416abd6b6a6874fb95d39768f66314916abf327)) +* **prereq:** flatten Telos and USMetrics nested directories (C.1) ([502455c](https://github.com/Steffen025/pai-opencode/commit/502455cfbe97a9a671e5e43b4617a1bf6134444e)) +* prevent CLI tools from executing on bundle import ([003fda7](https://github.com/Steffen025/pai-opencode/commit/003fda7857f1f3b68229959f55cf27dcc0dc44d3)) +* **quality:** Code Rabbit batch 4 - Core fixes ([da804ea](https://github.com/Steffen025/pai-opencode/commit/da804eafed7cde72b37770d7e2edb5fcb1f9a6a2)) +* **quality:** Code Rabbit minor fixes batch 3 ([4fd8668](https://github.com/Steffen025/pai-opencode/commit/4fd8668bec136420e12eddcf5f027554411c0f20)) +* **quality:** Final Code Rabbit fixes batch 6 ([cccc92c](https://github.com/Steffen025/pai-opencode/commit/cccc92c2fbad39b15e1c323f77f96a19259e162e)) +* **rating:** Fix chat.message payload extraction + MEMORY structure ([f6b577e](https://github.com/Steffen025/pai-opencode/commit/f6b577e2bfc5ab6351599106d6f3ef7a3222ec9c)), closes [#6](https://github.com/Steffen025/pai-opencode/issues/6) +* Remove duplicate Fabric patterns + add PAI-to-OpenCode mapping guide ([43473b1](https://github.com/Steffen025/pai-opencode/commit/43473b11f77de2a278ae267befd6e8e65eff075c)) +* remove incorrect voice curl template variable limitation ([1181619](https://github.com/Steffen025/pai-opencode/commit/11816196e3942f8f244e79877acaef40d91dd519)) +* remove nested duplicate folder structures, add Cost-Aware Research system ([595b09e](https://github.com/Steffen025/pai-opencode/commit/595b09ec7f093f76a4be65c1d9c0b0f78e9e4c1b)) +* resolve 7 wizard issues from clean-user testing ([1774245](https://github.com/Steffen025/pai-opencode/commit/17742454d2f99396fe1ccf2964426d8148c85cdc)) +* resolve all 8 PR [#64](https://github.com/Steffen025/pai-opencode/issues/64) bugs in PAI Tools ([e315c1e](https://github.com/Steffen025/pai-opencode/commit/e315c1e1efc822cac5634832703f149ce5a7bdd2)) +* restore correct v1.2 hero banner (not the v1.0 or v1.3.0 version) ([ad861ad](https://github.com/Steffen025/pai-opencode/commit/ad861adbd92c412d0a354f6dc6cc49e8c0f0f4e2)) +* restore hex color codes in all agent markdown frontmatter ([#80](https://github.com/Steffen025/pai-opencode/issues/80)) ([f47ad43](https://github.com/Steffen025/pai-opencode/commit/f47ad43d934ae24e0dcf9c08722950cc5dd82d42)) +* restore original hero banner (v1.3.0 release image was only for release asset) ([1273559](https://github.com/Steffen025/pai-opencode/commit/1273559e6ba59f7c5d20ae3a170cdcd8739cec39)) +* **review:** add explicit shell setup end marker in steps-fresh ([9c30fdf](https://github.com/Steffen025/pai-opencode/commit/9c30fdf1201a016f07eec49c1b286f09d6919c5e)) +* **review:** address all CodeRabbit findings + resolve merge conflict ([abd1410](https://github.com/Steffen025/pai-opencode/commit/abd141028f5884601158c6a6110a211b8ee16bcd)) +* **review:** Address CodeRabbit findings — verify-then-fix pass ([f90f29f](https://github.com/Steffen025/pai-opencode/commit/f90f29f67652a87212875e2e435e5b52f448ef1e)) +* **review:** address CodeRabbit PR [#138](https://github.com/Steffen025/pai-opencode/issues/138) commentary ([43a25af](https://github.com/Steffen025/pai-opencode/commit/43a25afb28e23650f257325443e18fa5c873aa24)) +* **review:** address CodeRabbit round 2 commentary ([e33f7c8](https://github.com/Steffen025/pai-opencode/commit/e33f7c8267f2eda426d4da9a61232b26bd173610)) +* **review:** address CodeRabbit round 3 commentary ([ba1f4b1](https://github.com/Steffen025/pai-opencode/commit/ba1f4b13af03fd00e552724be49805497a3e0da4)) +* **review:** address CodeRabbit round 4 commentary ([73be561](https://github.com/Steffen025/pai-opencode/commit/73be561ae8944db4d6fc5e7f187a1ca6cd7921a2)) +* **review:** align launcher order and fish shell wiring ([e660b74](https://github.com/Steffen025/pai-opencode/commit/e660b74e38175faf737bf2273f31fa108a62fb00)) +* **review:** apply targeted path and tooling consistency updates ([bde2084](https://github.com/Steffen025/pai-opencode/commit/bde2084d85a5ff1cb4f1d461a1c2ca37471e7b8d)) +* **review:** correct parser workflow paths and migrate shell markers ([e65cc7a](https://github.com/Steffen025/pai-opencode/commit/e65cc7ac28aed6af93c888e26be20076d0362b6e)) +* **review:** recurse hook counting and ensure state dir exists ([fd7bfef](https://github.com/Steffen025/pai-opencode/commit/fd7bfef5dd79b99ef07ff317f0379d39caebdaa1)) +* **review:** tighten executable checks and shell block safety ([0996f10](https://github.com/Steffen025/pai-opencode/commit/0996f10b7f38a20d20397146cd92bbde01df1f8b)) +* **runtime:** align OpenCode paths and post-install defaults ([f0a0523](https://github.com/Steffen025/pai-opencode/commit/f0a0523272be77f15a58efe3f9deb159d1514160)) +* **security:** Address Code Rabbit critical findings ([8eeef6f](https://github.com/Steffen025/pai-opencode/commit/8eeef6f4b2bbc597f9507d99a4fdbc0945919c43)) +* **security:** ADR-009 + CodeRabbit critical fixes ([f9c16a2](https://github.com/Steffen025/pai-opencode/commit/f9c16a2a46c3527b7b9d97be9547fc7634c3fc96)) +* **security:** Critical Code Rabbit fixes batch 1 ([102485c](https://github.com/Steffen025/pai-opencode/commit/102485c18ed1e8012bf55b639d5312a051759a35)) +* **security:** Path Traversal fixes batch 2 ([c5f45b0](https://github.com/Steffen025/pai-opencode/commit/c5f45b04b206f5ec0c87379831fd9ceef9d20b25)) +* **security:** prevent path traversal in findAction + reject cloud mode explicitly ([666886d](https://github.com/Steffen025/pai-opencode/commit/666886dd6812d303e3724bc1b413d0c7a790bfc8)) +* **shell.env:** document two-layer env system, add explicit key passthrough ([09b80e1](https://github.com/Steffen025/pai-opencode/commit/09b80e14dc5f3be2e847a75ac7966546cea1ceae)) +* **skills:** address CodeRabbit findings in PR-05 Fabric patterns ([783d54b](https://github.com/Steffen025/pai-opencode/commit/783d54b5b724b73a1a5873593cd13db218909163)) +* **skills:** address second CodeRabbit review round for PR-05 ([97c6754](https://github.com/Steffen025/pai-opencode/commit/97c675484aabbd49d1cfae21231bdcc5bc0783a8)) +* **skills:** Fix YAML frontmatter parsing errors for OpenCode ([2e6ae7c](https://github.com/Steffen025/pai-opencode/commit/2e6ae7c5c0ee7fc19e07764eb40532c927cccd90)) +* **skills:** resolve duplicate skill names and PAI frontmatter ([98f6253](https://github.com/Steffen025/pai-opencode/commit/98f62532fb5b838491c2a4d5754a8d2d7a8e2deb)) +* stop processing message.part.updated for user message handling ([308a004](https://github.com/Steffen025/pai-opencode/commit/308a004a7f855af81e612f1eda64f67ef5ff6889)), closes [#17](https://github.com/Steffen025/pai-opencode/issues/17) +* **structure:** move AudioEditor to top-level skills ([656f029](https://github.com/Steffen025/pai-opencode/commit/656f029ad1840a15a10795321f454cc62fbceeed)) +* **structure:** move Xlsx, Pdf, Docx, Pptx to Utilities/ level ([914e45e](https://github.com/Steffen025/pai-opencode/commit/914e45e2f829488cb801fa334e6b939603153409)) +* **System:** Adapt System workflows for OpenCode architecture ([25b252c](https://github.com/Steffen025/pai-opencode/commit/25b252cbab5facd4ea449eac0eafb0b4d20acca8)) +* **tracker:** add missing total_checked field to DiscoveryResult return ([c730be7](https://github.com/Steffen025/pai-opencode/commit/c730be77006389636be62c8ee54c06bfd2771081)) +* v1.0 Audit Remediation - 6 Critical + 3 Medium fixes ([7335a76](https://github.com/Steffen025/pai-opencode/commit/7335a76e6d1caebcaba567ea8bb275b7e644d682)) +* v1.0 Final Polish - 3 MUSS fixes + 3 Docs clarifications ([d2b3732](https://github.com/Steffen025/pai-opencode/commit/d2b37323f3c46d5174470ce428e327061ff7461b)) +* v1.0 Polish - Complete audit remediation for public release ([5d723ba](https://github.com/Steffen025/pai-opencode/commit/5d723ba522ffa3c619bb92c6a21f3ea4fd06233e)) +* wizard build process — fix execCommand null-trim bug, remove Go prerequisite, update docs ([23d2435](https://github.com/Steffen025/pai-opencode/commit/23d2435c18e94de82c1b378895322a44bc303d94)) +* wizard PATH detection — verify binary directly, auto-fix missing PATH entry ([3612a73](https://github.com/Steffen025/pai-opencode/commit/3612a734625af38776410969683603ed35837a6b)) +* **wizard:** Remove unrecognized 'pai' key from opencode.json + add 6 more providers ([e6b7793](https://github.com/Steffen025/pai-opencode/commit/e6b7793e7670cc37e6b55d339acdaf7ec0afb318)) +* **wizard:** Show OAuth/subscription option for Anthropic and OpenAI ([d91276c](https://github.com/Steffen025/pai-opencode/commit/d91276c0aaa4efe5a1ee0061dccc0333023a7338)) +* **workflow:** Update fork repo name for upstream sync ([99fe3da](https://github.com/Steffen025/pai-opencode/commit/99fe3da2f43fe2b7189a4b09a3874c2fcbc071f9)) +* **wp-a:** fix 3 CodeRabbit bugs, add shell.env hook, add OpenCode research ([c9cff5f](https://github.com/Steffen025/pai-opencode/commit/c9cff5f28c28ceb0d3de5f577ba989512a13d8e7)) +* **wp-c:** address all CodeRabbit feedback items ([a99d376](https://github.com/Steffen025/pai-opencode/commit/a99d3765fb6fae3d59a9206c123d6f0a099fe5da)) +* **wp-d:** address all CodeRabbit PR review findings ([262a55b](https://github.com/Steffen025/pai-opencode/commit/262a55b122e744c82f145f581fa7a54eb577d087)) +* **wp-e:** Address CodeRabbit findings - import fixes, type corrections, implementation completion ([328f961](https://github.com/Steffen025/pai-opencode/commit/328f961559c0c5a98b583fd139f9e155b018fdd8)) +* **wp-e:** Address CodeRabbit security and type issues ([c265498](https://github.com/Steffen025/pai-opencode/commit/c26549865ec2f29e3f8bb3d63f94600ac6949922)) +* **wp-e:** Address second round of CodeRabbit findings ([84674d2](https://github.com/Steffen025/pai-opencode/commit/84674d2ea6fc89e3cb516f6270a98e242c56670a)) +* **wp-e:** Address third round of CodeRabbit findings ([1f01732](https://github.com/Steffen025/pai-opencode/commit/1f01732e3c141551428f6acf22e250146e71f8df)) +* **wp-e:** Implement stepInstallPAI - replace placeholder with actual installation logic ([7e962ad](https://github.com/Steffen025/pai-opencode/commit/7e962ad0757372eea91789fe9c6bbacd255e668d)) +* **wp-m1:** address coderabbit review feedback on PR [#107](https://github.com/Steffen025/pai-opencode/issues/107) ([78f8dde](https://github.com/Steffen025/pai-opencode/commit/78f8dde0869b336b4629f402bbd6e76e5fa6c3f5)) +* **wp-m1:** coderabbit round 2 + integrate PR [#103](https://github.com/Steffen025/pai-opencode/issues/103) model updates (credit [@ktneely](https://github.com/ktneely)) ([55adca0](https://github.com/Steffen025/pai-opencode/commit/55adca0774fef41cd89eda1eb2a8f4af32012d65)) +* **wp-m1:** coderabbit round 3 — local provider, agent merging, legacy model derivation ([e6ccbc0](https://github.com/Steffen025/pai-opencode/commit/e6ccbc0c0b1c61105e88ef3d1400f308301a1473)) +* **wp-n1:** Address review findings ([83830c9](https://github.com/Steffen025/pai-opencode/commit/83830c9eb34459c2161d3d7c57e4b8538fe090fc)) +* **wp-n1:** Implement compare-and-swap for race condition ([e9b9563](https://github.com/Steffen025/pai-opencode/commit/e9b9563736fa5987e8cfc62d030b700b375f6dd4)) +* **wp-n2:** Address CodeRabbit review findings - session isolation ([68cfb0a](https://github.com/Steffen025/pai-opencode/commit/68cfb0aef158a7f2217046f28aa3265c4b8e3cfd)) +* **wp-n3:** Address CodeRabbit review findings - PRD schema & recovery docs ([5c28f97](https://github.com/Steffen025/pai-opencode/commit/5c28f97fdd83ea148fbd0acc4009571d46ef2c5e)) +* **wp-n3:** Address CodeRabbit review findings - schema completeness ([ca0f3fb](https://github.com/Steffen025/pai-opencode/commit/ca0f3fb4fbe7f44b332701eb12c4f925714429f6)) +* **wp-n3:** Canonical field consistency and secure fallback ([fd20c17](https://github.com/Steffen025/pai-opencode/commit/fd20c17401465d60d05f5f152f5ca6acacdedc4f)) +* **wp-n3:** Correct field count and clarify PRE-OBSERVE recovery rules ([7be3d1a](https://github.com/Steffen025/pai-opencode/commit/7be3d1a7449b0ea4434a90b1df628db237361a8c)) +* **wp-n4:** Address CodeRabbit review findings ([370598f](https://github.com/Steffen025/pai-opencode/commit/370598f89596b84c28103455cff0b0b54aa250e7)) +* **wp-n4:** Sync TODO-v3.0.md status consistency ([5086ad5](https://github.com/Steffen025/pai-opencode/commit/5086ad5c855edc61a512536a7e23a4d60cd47139)) +* **wp-n5:** Address CodeRabbit findings — checkbox, WP-E status, intro text ([b6dbba9](https://github.com/Steffen025/pai-opencode/commit/b6dbba93f47c411d0d3529fdf2a0f239a924676c)) +* **wp-n5:** Progress bar 100% and section header Complete — all 4 tasks done ([4ff842f](https://github.com/Steffen025/pai-opencode/commit/4ff842f163ed543da7bfb74826f3500e5d6da252)) +* **wp-n6:** Add Quick Triage ASCII+Mermaid and non-interactive Still Stuck escalation ([e9bf80b](https://github.com/Steffen025/pai-opencode/commit/e9bf80b1fa79d2c606bc45a2565f94212f79c797)) +* **wp-n6:** Add text language identifier to all fenced checklist blocks ([3ec6a28](https://github.com/Steffen025/pai-opencode/commit/3ec6a28ad314956fcd0c693b89770bff1873130b)) +* **wp-n6:** Address CodeRabbit round-2 findings ([95db445](https://github.com/Steffen025/pai-opencode/commit/95db445b90ca8d93b8e987653e923f0a5cf22b9e)) +* **wp-n6:** Address feedback — remove hardcoded models, Obsidian formatting, CodeRabbit fixes ([dc7d8c2](https://github.com/Steffen025/pai-opencode/commit/dc7d8c2beb9ce9e779bd2f65e04791c61da37ae0)) +* **wp-n6:** Clarify Bun import extension resolution — .ts not required by default ([4c2ecd9](https://github.com/Steffen025/pai-opencode/commit/4c2ecd989ef38e0366e4fda5e2d8453f06902aa3)) +* **wp-n7:** address CodeRabbit review findings ([34f108b](https://github.com/Steffen025/pai-opencode/commit/34f108b0ff8d645b37b7f49b0eca4ef2802a3da5)) +* **wp-n7:** address fourth round of CodeRabbit findings ([925aa98](https://github.com/Steffen025/pai-opencode/commit/925aa98c9f7ab4af319c816d93f5dedb424acd18)) +* **wp-n7:** address second round of CodeRabbit findings ([623b8cf](https://github.com/Steffen025/pai-opencode/commit/623b8cfe43db3dee0db63bad0517c68dc5ae3d88)) +* **wp-n7:** address third round of CodeRabbit findings ([eadb175](https://github.com/Steffen025/pai-opencode/commit/eadb1752b40bcca242696f5ed4d4a99c0d5904f1)) +* **wp-n7:** fix Biome CI scope + auto-fix all plugin code quality issues ([24c03d4](https://github.com/Steffen025/pai-opencode/commit/24c03d4b7f96097c5cdccb5e3439bd6136a2d7b6)) +* **wp-n8:** remove personal MCP server data from agent matrix ([36b549c](https://github.com/Steffen025/pai-opencode/commit/36b549c749cc2f6c366d351442e576967823e157)) +* **wp-n9:** address CodeRabbit findings ([bb04b36](https://github.com/Steffen025/pai-opencode/commit/bb04b361d529496826984163c658173bc2dff195)) +* **wp-n9:** address CodeRabbit findings round 3 ([ab37834](https://github.com/Steffen025/pai-opencode/commit/ab378347d31e87083c7898c04fcdbbdfcdd68cc1)) +* **wp-n9:** address remaining CodeRabbit findings ([bd0bc9c](https://github.com/Steffen025/pai-opencode/commit/bd0bc9c79403ee112f9fa7469a0f5a8a53e541c8)) +* **wp-n9:** align indentation of symlink block to parent scope ([92f14a7](https://github.com/Steffen025/pai-opencode/commit/92f14a71fd5f35e37387a7f275ad1abce845784e)) +* **wp-n9:** correct zen advanced model ID to claude-3-5-haiku ([0760018](https://github.com/Steffen025/pai-opencode/commit/076001899dea51f60c434c91fd1cb442cc952034)) +* **wp-n9:** defensive copy legacy alias exports to isolate from PROVIDER_MODELS ([60e4b02](https://github.com/Steffen025/pai-opencode/commit/60e4b0284870cc9bc5e3a219fddd66e3bfc3f83e)) +* **wp-n9:** generate full agent-tier opencode.json from provider choice ([6c90b36](https://github.com/Steffen025/pai-opencode/commit/6c90b364c658b4ed9ae285d7078369b5c9449ba1)) +* **wp-n9:** generate full agent-tier opencode.json from provider choice ([ecf671c](https://github.com/Steffen025/pai-opencode/commit/ecf671c48bbc64bdf7634642a6bced4afbf38b37)) +* **wp1:** Address CodeRabbit review comments ([ef72908](https://github.com/Steffen025/pai-opencode/commit/ef7290828ca17baf74bf8899eb29033aa5e4e2e2)) +* **wp2:** Address all Code Rabbit review comments ([5253f39](https://github.com/Steffen025/pai-opencode/commit/5253f39914502e84094b9c27e87d74d6f17b6c6f)) +* **wp2:** Address CodeRabbit review comments ([83fa771](https://github.com/Steffen025/pai-opencode/commit/83fa7713c3b4d72721c3ab98ab7fd39b8f2b02d7)) +* **wp2:** Address CodeRabbit review comments ([4c4c6c8](https://github.com/Steffen025/pai-opencode/commit/4c4c6c82cdff7e3826d6dbe2dbce2a1c920f25fb)) +* **wp2:** Address CodeRabbit review comments + add workdir documentation ([4d68988](https://github.com/Steffen025/pai-opencode/commit/4d68988473c201e25af5e705e9e96eac3f7d5f7f)) +* **wp2:** All content in English only ([c5c1df7](https://github.com/Steffen025/pai-opencode/commit/c5c1df70657cb88111be6e5974002175fe2d97b0)) +* **wp2:** Minimal Nützlich statt minimal möglich ([3c23f24](https://github.com/Steffen025/pai-opencode/commit/3c23f24c3812586d1117fef6b17e89ffc7023cc4)) +* **wp2:** Skill Discovery Index im Bootstrap ([dde4e52](https://github.com/Steffen025/pai-opencode/commit/dde4e527e8bdddb9bc8a5c71ab73ad75716a6ec8)) +* **wp3:** Address CodeRabbit review findings ([426b7ff](https://github.com/Steffen025/pai-opencode/commit/426b7ff1ed48a11effde16d205acf7fe8c6fd4df)) +* **wp3:** Address second round of CodeRabbit review findings ([8154ecc](https://github.com/Steffen025/pai-opencode/commit/8154ecc80c4b3ee33faf2b83c2f128f32e524008)) +* **wp4:** Address additional PR [#40](https://github.com/Steffen025/pai-opencode/issues/40) review findings ([2f1e42b](https://github.com/Steffen025/pai-opencode/commit/2f1e42b16c9b84835449b47ae7e336de8bc91c15)) +* **wp4:** Address PR [#40](https://github.com/Steffen025/pai-opencode/issues/40) review findings ([cf073d4](https://github.com/Steffen025/pai-opencode/commit/cf073d495522956e947cff9814821a74f07a6565)) +* **wp4:** Final CodeRabbit review - platform paths, deterministic output ([987a56e](https://github.com/Steffen025/pai-opencode/commit/987a56eef2b7486d6ea9992e99426b46d0a9e736)) +* **wp4:** Final round of PR [#40](https://github.com/Steffen025/pai-opencode/issues/40) review fixes ([3381911](https://github.com/Steffen025/pai-opencode/commit/3381911a14b114d49ba14042664d8179c806c48c)) +* **wp4:** Phase 1 - Fix broken skill path references ([18b510e](https://github.com/Steffen025/pai-opencode/commit/18b510e86379d61654d1ca3c9d9d81307fddbf87)) +* **wp4:** Phase 1 - Fix broken skill path references ([5527366](https://github.com/Steffen025/pai-opencode/commit/552736626bcc499da257aa367e9795080249bec0)) + ## [3.0.0] - 2026-04-12 ### ⚠️ Breaking Changes diff --git a/package.json b/package.json index 900a3e47..89f3c3b0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pai-opencode", - "version": "3.0.0", + "version": "4.0.0", "description": "Personal AI Infrastructure for OpenCode (based on PAI v3.0, Algorithm v1.8.0)", "type": "module", "scripts": { From f6903ac13c0a88fd17f0c6b94f08421d076d6659 Mon Sep 17 00:00:00 2001 From: Steffen Zellmer <151627820+Steffen025@users.noreply.github.com> Date: Mon, 13 Apr 2026 14:22:13 +0200 Subject: [PATCH 2/7] chore(main): release pai-opencode 3.0.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 488 +++------------------------------- package.json | 2 +- 3 files changed, 38 insertions(+), 454 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index e6f87756..d4f6f299 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "4.0.0" + ".": "3.0.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 149c281c..ab8075ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,474 +7,58 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 --- -## [4.0.0](https://github.com/Steffen025/pai-opencode/compare/pai-opencode-v3.0.0...pai-opencode-v4.0.0) (2026-04-13) +## [3.0.0](https://github.com/Steffen025/pai-opencode/compare/opencode-v2.0.0...pai-opencode-v3.0.0) (2026-04-13) -### ⚠ BREAKING CHANGES +### ⚠️ Breaking Changes + +* **wp-m1:** `model_tiers` removed — PAI-OpenCode now runs on **vanilla OpenCode** from opencode.ai. The custom `Steffen025/opencode` fork is archived. Each agent in `opencode.json` has exactly one `model` field. The `model_tier` parameter is removed from Task tool invocations. See [ADR-019](docs/architecture/adr/ADR-019-vanilla-opencode-migration.md) and [UPGRADE.md](UPGRADE.md) for migration instructions. +* **core:** Bootstrap loading removed — the PAI Core Skill (Algorithm, ISC, Capabilities) now loads via OpenCode's native skill system (`tier: always`) instead of via the `pai-unified.ts` plugin. `MINIMAL_BOOTSTRAP.md` is deleted. See [ADR-020](docs/architecture/adr/ADR-020-native-opencode-context-loading.md). +* **skills:** `skills/CORE` renamed to `skills/PAI` — the PAI Core Skill now lives in `PAI/SKILL.md`. +* **installer:** Provider selection removed from install wizard — providers are configured post-install via `/connect` in OpenCode + `switch-provider.ts`. -* **wp-m1:** Removes the model_tiers feature and the dependency on the Steffen025/opencode fork. PAI-OpenCode now runs on vanilla OpenCode from opencode.ai. Each agent has exactly one model configured in opencode.json (no more quick/standard/advanced tier sub-blocks). The model_tier parameter is removed from Task tool invocations. -* **pai-2.5:** Renamed skills/CORE to skills/PAI ### Features -* **algorithm:** Port Algorithm v3.7.0 from upstream PAI v4.0.3 ([99462c6](https://github.com/Steffen025/pai-opencode/commit/99462c648e918f8ac51df85f91adffc1d0cba86f)) -* **ci:** Add professional CI/CD workflows, CodeRabbit, and upstream sync ([61efd46](https://github.com/Steffen025/pai-opencode/commit/61efd46fb862267ac9334844cf875a2b0e629b30)) -* complete work session intelligence port (Phases 2-5) ([79036ee](https://github.com/Steffen025/pai-opencode/commit/79036ee8d2ab4fa1e4a8c54c5c85df5e4f9e6db5)), closes [#24](https://github.com/Steffen025/pai-opencode/issues/24) -* **converter:** Interactive mode selection wizard ([81d3d99](https://github.com/Steffen025/pai-opencode/commit/81d3d990dc7a3fb0891c8c5b8d32cbbb38345cbc)) -* **converter:** Version 1.0.0 with selective import mode ([535fc87](https://github.com/Steffen025/pai-opencode/commit/535fc87fbd3be335f91f06a098d70769aeb66012)) -* **core:** v2.4 CORE + Agents Migration ([8a8af91](https://github.com/Steffen025/pai-opencode/commit/8a8af915f328fc7583454247c97dbf650a7c884e)) -* **installer:** add anthropic-max preset for Max/Pro OAuth subscription ([#84](https://github.com/Steffen025/pai-opencode/issues/84)) ([b1b1f0c](https://github.com/Steffen025/pai-opencode/commit/b1b1f0c15833e7d0399ffc53b4bcd2b70a4ce612)) -* **installer:** Add ZEN Provider as default option for free models ([f73e636](https://github.com/Steffen025/pai-opencode/commit/f73e636a0b66a583fd63427e062c7671a4602624)) -* **installer:** hybrid Go installation with automatic fallback ([f1f5a04](https://github.com/Steffen025/pai-opencode/commit/f1f5a04671225ab1aafc34eda46771463b4f7492)) -* **installer:** restore interactive terminal install wizard for v3 ([fc095cd](https://github.com/Steffen025/pai-opencode/commit/fc095cdfff0f33c80f768da92b58965854f17208)) -* **installer:** restore interactive terminal wizard for v3 ([169348c](https://github.com/Steffen025/pai-opencode/commit/169348c70498b65a685d84333be4a6551851ed24)) -* **install:** PAI-Install Electron GUI installer ([1ce431b](https://github.com/Steffen025/pai-opencode/commit/1ce431b05e26828a6da1619fd75d9d491f1c2bda)) -* **install:** PR-01 — PAI-Install Electron GUI Installer (46 neue Dateien) ([aa1daf5](https://github.com/Steffen025/pai-opencode/commit/aa1daf507e4c6f851237bf308a2150e7e5a067da)) -* **install:** Replace bash script with TypeScript Installation Wizard ([1b0aa89](https://github.com/Steffen025/pai-opencode/commit/1b0aa89825d2a1455d1cdf3d7c6e665d2bd49d22)) -* migrate to PAI v3.0 / Algorithm v1.2.0 (version 2.0.0) ([41a00ca](https://github.com/Steffen025/pai-opencode/commit/41a00cac81571b4159c93315f4cabc2f84a6a522)) -* **oauth:** add runtime auto-refresh token bridge ([#85](https://github.com/Steffen025/pai-opencode/issues/85)) ([43adf8d](https://github.com/Steffen025/pai-opencode/commit/43adf8d677d8fb72752735638d3ec8cd23d3edf6)) -* **onboarding:** Add personalization workflow + fix install.sh provider config ([ea4a0ef](https://github.com/Steffen025/pai-opencode/commit/ea4a0ef7ff2062db48021cd32c67991e2d575588)) -* **pai-2.5:** complete PAI 2.5 upgrade with ISCValidator ([f388d62](https://github.com/Steffen025/pai-opencode/commit/f388d621ef0ed3dc415e21b8b3158a7df37e2453)) -* PAI-OpenCode v1.0.0 - Production Ready Release ([39d3141](https://github.com/Steffen025/pai-opencode/commit/39d314108a561dd0fbf085e2eecfa0c594f9bccf)) -* **pai:** Revised WP1 - Correct PAI 4.0.3 Core Port ([5499d15](https://github.com/Steffen025/pai-opencode/commit/5499d1595f9a8075249411d8ee5925b1faabab25)) -* **pai:** Revised WP1 - Correct PAI 4.0.3 Core Port ([1571f0a](https://github.com/Steffen025/pai-opencode/commit/1571f0a49c0d88e9fa583af621e6aae2f813404f)) -* **pai:** separate pai command from opencode ([6f1eab3](https://github.com/Steffen025/pai-opencode/commit/6f1eab3c5e6a2703f26104b2080488997cf2236f)) -* **plugins:** v1.0 Handler System - 80% PAI 2.4 Hook Coverage ([f092273](https://github.com/Steffen025/pai-opencode/commit/f0922731fff23ca9784a914f1ec2e5da5506ffe0)) -* reorganize skills into Utilities/ namespace (Teil 1) ([8a4140d](https://github.com/Steffen025/pai-opencode/commit/8a4140d450cd4f8604d38209997dae7b4072e0c4)) -* replace claude CLI spawn with provider-agnostic fetch in Inference.ts ([a21a707](https://github.com/Steffen025/pai-opencode/commit/a21a707177895d22c01fec18a60735f8c7bca726)), closes [#17](https://github.com/Steffen025/pai-opencode/issues/17) -* **skills:** Add 10 new PAI v2.4 skills ([671dd27](https://github.com/Steffen025/pai-opencode/commit/671dd276767c8757d97166f1ce7b1187fc96605f)) -* **skills:** Add System skill from PAI 2.3 ([b634a38](https://github.com/Steffen025/pai-opencode/commit/b634a381b8017ce5a0c821e60267acb495dabe29)) -* **skills:** Add v2.4 nested skill structures ([b5f779e](https://github.com/Steffen025/pai-opencode/commit/b5f779ed2d1adaf72467dbbf966daf2c143f915a)) -* upstream sync Algorithm v1.2.0 → v1.8.0 (14 commits) ([9e0c9dd](https://github.com/Steffen025/pai-opencode/commit/9e0c9dd432f6292bfe349d390f1da0cfd3d71c2b)) -* Utilities Teil 2 + Scraping + Content reorganization (84 files) ([d1daeab](https://github.com/Steffen025/pai-opencode/commit/d1daeabd3e3b63cd7448850c687aef6063a373b7)) -* **v1.1:** add voice-server + fix documentation consistency ([a7a7509](https://github.com/Steffen025/pai-opencode/commit/a7a750917e908390512f22493eb3b4b70eee82c1)) -* **v1.1:** port PAI 2.5 handlers - voice, sentiment, tabstate, counts, capture ([63b1b2f](https://github.com/Steffen025/pai-opencode/commit/63b1b2f9929026497ba42ce4c816f0585b22e5fb)) -* **v1.2.1:** provider profile system + multi-provider research ([d098155](https://github.com/Steffen025/pai-opencode/commit/d098155c7e3b5024ecfd923a2c676811b333e9e1)), closes [#14](https://github.com/Steffen025/pai-opencode/issues/14) -* **v1.2:** Real-Time Observability Dashboard ([#12](https://github.com/Steffen025/pai-opencode/issues/12)) ([fa61290](https://github.com/Steffen025/pai-opencode/commit/fa612900afcf669192e8693e14142a19f2113f91)) -* **v1.3.0:** Multi-Provider Agent System with model tiers and 3 presets ([f4f37ee](https://github.com/Steffen025/pai-opencode/commit/f4f37ee26a3a7928801608d03d7a38ae7e1fdece)) -* **v1.3.0:** Multi-Provider Agent System with model tiers and 3 presets ([a1f7d80](https://github.com/Steffen025/pai-opencode/commit/a1f7d80be68bb518f7eca4ebe60d941b6c928277)), closes [#19](https://github.com/Steffen025/pai-opencode/issues/19) -* v2.0.0 release — hero banner, release notes, community announcement ([2579678](https://github.com/Steffen025/pai-opencode/commit/25796782b28c77d95aaded57ea9d0b80ae3c4a40)) -* **wp-a:** Port missing hooks, add Bus events, audit all handlers ([8e9e45e](https://github.com/Steffen025/pai-opencode/commit/8e9e45e28e802e6cc44f32a96ec5133d22988e3a)) -* **wp-a:** Port missing hooks, Bus events, complete handler audit ([5758038](https://github.com/Steffen025/pai-opencode/commit/575803889c68df971be5beaee6e4187998662ae5)) -* **wp-d:** add v2→v3 migration script (Phase 3) ([1a9749c](https://github.com/Steffen025/pai-opencode/commit/1a9749cd77afb30772b56324ec948b044b2c949d)) -* **wp-d:** implement DB Health tooling (WP-F integrated, Phase 4) ([e519c0d](https://github.com/Steffen025/pai-opencode/commit/e519c0de640a548ad8c217f0c2a82a4dccd79b40)) -* **wp-d:** port PAI-Install from upstream v4.0.3 (Phase 2) ([c7de65c](https://github.com/Steffen025/pai-opencode/commit/c7de65c4510352969fe41fe8a31b997f4d69a8c0)) -* **wp-e:** Add Electron UI flow routing for fresh/migrate/update modes ([8dcd375](https://github.com/Steffen025/pai-opencode/commit/8dcd375683bf60ca7093ffd4cd2fc90d19c9d452)) -* **wp-e:** Add Google TTS support to voice configuration ([0730e16](https://github.com/Steffen025/pai-opencode/commit/0730e16da406778f3f6c1ce00da58ce2fd8e5d63)) -* **wp-e:** Implement symlink-based installation architecture ([246d3ae](https://github.com/Steffen025/pai-opencode/commit/246d3aeefb4970f37613ffc4642fd16a3e6b92bf)) -* **wp-e:** Installer Refactor — Electron-first architecture ([591f5d8](https://github.com/Steffen025/pai-opencode/commit/591f5d87635279dd88877af29ebfade3f0a6e23a)) -* **wp-m1:** bury model_tiers, migrate to vanilla OpenCode ([f814f94](https://github.com/Steffen025/pai-opencode/commit/f814f94fb7d86eef381068fb47b08626d3c1da52)) -* **wp-m1:** bury model_tiers, migrate to vanilla OpenCode (v3.0 BREAKING) ([3388c10](https://github.com/Steffen025/pai-opencode/commit/3388c103dcf27a8e6bf74fa9529386913636ad8f)) -* **wp-n1:** Session Registry implementation ([aaa4124](https://github.com/Steffen025/pai-opencode/commit/aaa4124c7c101b387743568c261251a187584e76)) -* **wp-n1:** Session Registry implementation ([0a30010](https://github.com/Steffen025/pai-opencode/commit/0a30010bb80c792d5cf3830832314244f65e11b6)) -* **wp-n2:** Compaction Intelligence ([8381a1d](https://github.com/Steffen025/pai-opencode/commit/8381a1dd8e3577b15f9755cde6f571e95b83de54)) -* **wp-n2:** Implement Compaction Intelligence with clear documentation ([604c1e9](https://github.com/Steffen025/pai-opencode/commit/604c1e927ff5f213528893fea70d0d7d25305306)) -* **wp-n3:** Algorithm Awareness ([4f63037](https://github.com/Steffen025/pai-opencode/commit/4f630375f6527e4d3e24bda2fda6b8876733c62f)) -* **wp-n3:** Algorithm Awareness Implementation ([f074581](https://github.com/Steffen025/pai-opencode/commit/f0745818e165fb1d05b15a8b234d6554a73fbd82)) -* **wp-n4:** LSP + Fork Documentation ([5275f37](https://github.com/Steffen025/pai-opencode/commit/5275f3771000d9237b9e2a787c998359f196e98b)) -* **wp-n4:** LSP + Fork Documentation ([dc39660](https://github.com/Steffen025/pai-opencode/commit/dc3966038fbe6bb65bbf300e16d89d6054611f6d)) -* **wp-n5:** Plan Update — sync all docs to WP-N1..N4 complete ([a7a0065](https://github.com/Steffen025/pai-opencode/commit/a7a00653052b5ee932ca4d1409fa3e668479ac34)) -* **wp-n5:** Plan Update — sync docs to WP-N1..N4 complete ([56fd00c](https://github.com/Steffen025/pai-opencode/commit/56fd00c8366feb0fa05feb16ffa3510726e1ac3b)) -* **wp-n6:** System Self-Awareness — OpenCodeSystem skill, 4 arch docs, ADR-017 ([6512463](https://github.com/Steffen025/pai-opencode/commit/651246371a3701a11c01915a4d176a2ceebe0a89)) -* **wp-n6:** System Self-Awareness — OpenCodeSystem skill, 4 architecture docs, ADR-017 ([5db8e44](https://github.com/Steffen025/pai-opencode/commit/5db8e44b404af7ef0f51e713370ca4aaf6e4bcfb)) -* **wp-n7:** Add roborev code review + Biome CI pipeline ([a8893fd](https://github.com/Steffen025/pai-opencode/commit/a8893fdc15e13ca68dfa1ccacf41af411956cf32)) -* **wp-n7:** roborev code review + Biome CI pipeline ([4cfdda6](https://github.com/Steffen025/pai-opencode/commit/4cfdda6f1e3ae4ea46ee6642ee3ed7ebbcc36051)) -* **wp-n8:** Obsidian formatting guidelines + agent capability matrix ([050e632](https://github.com/Steffen025/pai-opencode/commit/050e632379111d42e87cca4d0ffd6b0873f16a77)) -* **wp-n8:** Obsidian formatting guidelines + agent capability matrix ([27ab29f](https://github.com/Steffen025/pai-opencode/commit/27ab29fc56044fd256507042f2f66f4b5ee9ce71)) -* **wp1:** Add OpenCode workdir documentation to Algorithm ([0aa5f33](https://github.com/Steffen025/pai-opencode/commit/0aa5f3384966535eb79eba3ba170ef2c73b0c4e9)) -* **wp1:** Add OpenCode workdir documentation to Algorithm ([0b31256](https://github.com/Steffen025/pai-opencode/commit/0b312563cd028a33c2896d79b1c1f7fcc9aa6494)) -* **wp2:** Context Modernization - Lazy Loading ([7fac96a](https://github.com/Steffen025/pai-opencode/commit/7fac96a473f78e74cb590cc7f14c81142ef37e81)) -* **wp2:** Hybrid Algorithm loading - Essence + Lazy Load ([9bcc907](https://github.com/Steffen025/pai-opencode/commit/9bcc907e802773a50dcace2989b467a153a2df6c)) -* **wp3:** Add Part B - Security, Scraping, Telos, USMetrics categories ([e39c188](https://github.com/Steffen025/pai-opencode/commit/e39c1884159e75c62fed81f5548031f5697b9f03)) -* **wp3:** Add Part C - Thinking and Utilities categories (WP3 COMPLETE) ([bfc4d44](https://github.com/Steffen025/pai-opencode/commit/bfc4d44fead581bb316b41c8682537bfd62483be)) -* **wp3:** Create hierarchical category structure - Part A ([8f770d7](https://github.com/Steffen025/pai-opencode/commit/8f770d70b8e54aca57d8dcfa36cb4e7d2bf262b1)) -* **wp3:** Create hierarchical category structure - Part A ([d71012a](https://github.com/Steffen025/pai-opencode/commit/d71012a45a3c3caeb52c3d4fe187858a597db30b)), closes [#31](https://github.com/Steffen025/pai-opencode/issues/31) -* **wp4:** Phase 2 - Update plugin handlers for hierarchical skills ([54cca23](https://github.com/Steffen025/pai-opencode/commit/54cca23797f364d51677660efb246417d0bd3b6e)) -* **wp4:** Phase 3 - Skill Discovery Enhancement ([b0ef059](https://github.com/Steffen025/pai-opencode/commit/b0ef059c4340f42c03760c6209ee2aea0b9a7c24)) +* **core:** OpenCode-native architecture — zero bootstrap, PAI/SKILL.md tier:always via native skill scanner ([406dac2](https://github.com/Steffen025/pai-opencode/commit/406dac2)) +* **core:** Zen free out-of-box — all agents default to `opencode/big-pickle`, no API key required ([428275c](https://github.com/Steffen025/pai-opencode/commit/428275c)) +* **installer:** Interactive terminal install wizard for v3 ([fc095cd](https://github.com/Steffen025/pai-opencode/commit/fc095cd)) +* **installer:** Two-step provider setup documented — `/connect` (credentials) + `switch-provider.ts` (opencode.json) ([43a25af](https://github.com/Steffen025/pai-opencode/commit/43a25af)) +* **installer:** PAI wrapper script — separate `pai` command from `opencode` ([6f1eab3](https://github.com/Steffen025/pai-opencode/commit/6f1eab3)) +* **wp-m1:** Vanilla OpenCode migration — removes fork dependency, instant install via opencode.ai ([f814f94](https://github.com/Steffen025/pai-opencode/commit/f814f94)) +* **wp-m1:** Legacy config migration script for v2.x model_tiers → flat model ([e6ccbc0](https://github.com/Steffen025/pai-opencode/commit/e6ccbc0)) +* **ci:** Professional CI/CD workflows, CodeRabbit integration, upstream sync automation ([ac6bceb](https://github.com/Steffen025/pai-opencode/commit/ac6bceb)) +* **docs:** ADR-020 — Native OpenCode context loading architecture decision ([9fad5e6](https://github.com/Steffen025/pai-opencode/commit/9fad5e6)) ### Bug Fixes -* **actions/pai:** validate --mode value before accepting local|cloud ([6a87c29](https://github.com/Steffen025/pai-opencode/commit/6a87c29c5c0c7de528b21cc3ae06c84c51c058b8)) -* **actions/runner.v2:** use path.sep in isContained for Windows compat, add type checking to simplified input validation ([8511bd8](https://github.com/Steffen025/pai-opencode/commit/8511bd8aa8a0f55023dc613eeecd79b7f13d18a6)) -* **actions/runner.v2:** validate output schema after execute, use Bun Shell directly for cross-platform shell cap ([d019beb](https://github.com/Steffen025/pai-opencode/commit/d019beb9789feb9ad3ebe2b21e26eb3c591f1465)) -* **actions/runner:** alphabetize imports, use ctx.env for CF_ACCOUNT_SUBDOMAIN, replace glob with Bun.Glob ([3e47001](https://github.com/Steffen025/pai-opencode/commit/3e47001588b13494d653a53cf1a3455ddd58bb86)) -* **actions/runner:** use fs.access() pre-check in loadAction, normalize POSIX paths in listActions ([025fa57](https://github.com/Steffen025/pai-opencode/commit/025fa57298e04a0cd274686f5c01d3da39eb814a)) -* **actions:** fail fast when CF_ACCOUNT_SUBDOMAIN is missing for cloud dispatch ([f59313a](https://github.com/Steffen025/pai-opencode/commit/f59313a5d76f2e563c924af4e345795c2e99b33c)) -* **actions:** switch CLI to runner.v2, fix listPipelines filter, fix info command ([e61552e](https://github.com/Steffen025/pai-opencode/commit/e61552eeb3da6853083e017dacdc7cea814d01ae)) -* add missing bun install step to wizard and README Quick Start ([2fb355e](https://github.com/Steffen025/pai-opencode/commit/2fb355e32ed6d8c79acbb46d763d7da37874c899)) -* add pragma allowlist secret to env var reads in Art Tools (CI secrets scanner) ([5490ad0](https://github.com/Steffen025/pai-opencode/commit/5490ad081492a38c98b294179a146db451e3f62b)) -* Address all 43 CodeRabbit findings in PR [#47](https://github.com/Steffen025/pai-opencode/issues/47) ([ccc755c](https://github.com/Steffen025/pai-opencode/commit/ccc755ce574bb2031cf778181f400e5e9f657107)) -* Address all CodeRabbit critical and major issues in PR [#46](https://github.com/Steffen025/pai-opencode/issues/46) ([34f428c](https://github.com/Steffen025/pai-opencode/commit/34f428c7beab362fd3d7c49e708a3aeb8646dcd3)) -* Address all remaining CodeRabbit major and minor issues in PR [#46](https://github.com/Steffen025/pai-opencode/issues/46) ([b303355](https://github.com/Steffen025/pai-opencode/commit/b303355f4dc71ca2aa79732fdfcd633433eb5b2f)) -* address CodeRabbit review findings for PAI-Install ([2129268](https://github.com/Steffen025/pai-opencode/commit/2129268816fa397c3e467937b33914329632314a)) -* address CodeRabbit Round 1 review findings ([ed6c1b7](https://github.com/Steffen025/pai-opencode/commit/ed6c1b797005a83e94bba6996d64a6a69509c632)) -* address CodeRabbit Round 2 review findings ([96f70aa](https://github.com/Steffen025/pai-opencode/commit/96f70aa4f7a34aaa36e77782231251ecb7a9cd14)) -* address CodeRabbit Round 3 review findings ([c9839e8](https://github.com/Steffen025/pai-opencode/commit/c9839e88c31f44f10abcfd6baa51f73029534392)) -* address CodeRabbit Round 4 verified findings ([62de050](https://github.com/Steffen025/pai-opencode/commit/62de050f7f56f073e9276949cf89ae538ac51e05)) -* Address new CodeRabbit commentary (15 additional issues) ([402d0df](https://github.com/Steffen025/pai-opencode/commit/402d0df6e37520c83c8e1dc6c3391d36dc7aeaef)) -* **adr-004:** replace console.* with fileLog in plugins ([946aa66](https://github.com/Steffen025/pai-opencode/commit/946aa666c37c9c231ebea50530a27ea9d0b91ad6)) -* **agents:** Convert all color names to hex format ([16f309c](https://github.com/Steffen025/pai-opencode/commit/16f309c37e261adb59837cca7db8d80d519894ac)) -* **agents:** Use full model ID format for OpenCode compatibility ([dad3ee5](https://github.com/Steffen025/pai-opencode/commit/dad3ee5a23dfcfb7c471687f1dcf0c87968923cc)) -* **algorithm:** Address Code Rabbit review findings on PR [#32](https://github.com/Steffen025/pai-opencode/issues/32) ([fcb59a8](https://github.com/Steffen025/pai-opencode/commit/fcb59a8d5b19d2d7e124debfb2ffcdace2f7e098)) -* Anthropic Max Subscription API blocking workaround ([6934c7f](https://github.com/Steffen025/pai-opencode/commit/6934c7f95df566c18409c40c692b710ff2932a51)), closes [#8](https://github.com/Steffen025/pai-opencode/issues/8) -* apply CodeRabbit auto-fixes ([c231cd5](https://github.com/Steffen025/pai-opencode/commit/c231cd571f926a6b8537e3862ca61e8d27365f11)) -* apply CodeRabbit auto-fixes ([88b194c](https://github.com/Steffen025/pai-opencode/commit/88b194ca973c63f86262c992d4eecb3fc569a261)) -* apply CodeRabbit auto-fixes ([ebb31ca](https://github.com/Steffen025/pai-opencode/commit/ebb31ca51a93dd4657028b58ed337548429074f2)) -* apply CodeRabbit auto-fixes ([3345bca](https://github.com/Steffen025/pai-opencode/commit/3345bcaabec80fc845fb63ca39beecc2ff8e3270)) -* apply CodeRabbit auto-fixes ([246fd0c](https://github.com/Steffen025/pai-opencode/commit/246fd0c56b94e0e0c9cee5ad7c5231cffd6d2532)) -* **biome:** widen file includes to cover root TS/JS/JSON in addition to ACTIONS ([3c1ee64](https://github.com/Steffen025/pai-opencode/commit/3c1ee64b5184f17ee52e6a9e531aeca5fa2575e2)) -* **bugbountytool:** address CodeRabbit round-2 findings ([ec120a3](https://github.com/Steffen025/pai-opencode/commit/ec120a3c990a333a62695e1d5454df218a41d351)) -* **bugbountytool:** address CodeRabbit round-3 findings ([fe3c683](https://github.com/Steffen025/pai-opencode/commit/fe3c6835d5a984efce79a2c8d49b7e3808c41daf)) -* **bugbountytool:** address CodeRabbit round-4 findings ([471be00](https://github.com/Steffen025/pai-opencode/commit/471be00d26062eb532c2a3cd8ac55cf357af1d31)) -* **bugbountytool:** address CodeRabbit round-5 findings ([5785761](https://github.com/Steffen025/pai-opencode/commit/5785761d079c113907809480c9811cdbfed213c5)) -* **ci+plugins:** fix secret scan false positives and CodeRabbit security findings ([10e1836](https://github.com/Steffen025/pai-opencode/commit/10e183653a9a78a09e6bb237dddc75a2bcf6e995)) -* **ci+plugins:** round-3 CodeRabbit fixes ([bbbf9f1](https://github.com/Steffen025/pai-opencode/commit/bbbf9f1cf2c5242f41f99abe769228bcffe1ad3b)) -* **ci:** add .github to secret scan dirs, fix find not pruning node_modules ([423308e](https://github.com/Steffen025/pai-opencode/commit/423308e2e72e48be6a613338a2e7ba25b8829161)) -* **ci:** add biome.json config scoped to ACTIONS TypeScript code ([adddb5d](https://github.com/Steffen025/pai-opencode/commit/adddb5dd09ef5a071e2cb190e4cb8b28e7fab960)) -* **ci:** add lint script to root package.json for Biome check ([647fa69](https://github.com/Steffen025/pai-opencode/commit/647fa69a119d9b0aec530807085e1b84e7848318)) -* **ci:** Additional Code Rabbit review fixes ([8c40683](https://github.com/Steffen025/pai-opencode/commit/8c4068333451acb1bfdf4acf26b22bfecce91805)) -* **ci:** apply StepSecurity hardening (PR [#106](https://github.com/Steffen025/pai-opencode/issues/106)) + coderabbit corrections ([ab12ccd](https://github.com/Steffen025/pai-opencode/commit/ab12ccda5eebd2d616aefe9b9865edd822022605)) -* **ci:** coderabbit round 2 + add release-please for v3.0 automated releases ([ac6bceb](https://github.com/Steffen025/pai-opencode/commit/ac6bceb202ff7292a4b2b30b93e043d4e731019f)) -* **ci:** correct biome.json schema for v1.x (fix unknown keys) ([683b345](https://github.com/Steffen025/pai-opencode/commit/683b345368fa8b90b433557a935a5215dc76df2c)) -* **ci:** disable biome assist (organizeImports) to avoid sort errors ([ee37d2f](https://github.com/Steffen025/pai-opencode/commit/ee37d2fb7dd04e05e7416a7c1b40a93acd2014b3)) -* **ci:** disable biome formatter check (lint only, no format enforcement) ([1561eab](https://github.com/Steffen025/pai-opencode/commit/1561eabecae9704ca31878747c0816ae3b29b341)) -* **ci:** disable organizeImports in biome.json ([267937e](https://github.com/Steffen025/pai-opencode/commit/267937efd544b60c8039eb70e1a7b74a882e2cea)) -* **ci:** Exclude BountyPrograms.json from secret scan ([3c07ce8](https://github.com/Steffen025/pai-opencode/commit/3c07ce818e42118e86b1e866f62ce8c557f993d9)) -* **ci:** Exclude node_modules from secret scanning ([c145ef1](https://github.com/Steffen025/pai-opencode/commit/c145ef1b48fcb39e15012183cae30718cd66c0a2)) -* **ci:** Final Code Rabbit review fixes ([2da83d5](https://github.com/Steffen025/pai-opencode/commit/2da83d508f5214acc795289e73fe51865eb2c356)) -* **ci:** Improve secret scan with debug output ([a307472](https://github.com/Steffen025/pai-opencode/commit/a307472f7890f666d86da8830e15370b2c965e2a)) -* **ci:** remove organizeImports (unknown key in installed Biome version) ([152c450](https://github.com/Steffen025/pai-opencode/commit/152c450352776c1d3995bdba494de5b73a188d02)) -* **ci:** StepSecurity hardening + CodeRabbit corrections (supersedes [#106](https://github.com/Steffen025/pai-opencode/issues/106)) ([f15c2d6](https://github.com/Steffen025/pai-opencode/commit/f15c2d6967bc2c5499727244c9d4fb1821e07af1)) -* **ci:** update bun.lock to match package.json — remove stale zod and biome entries ([f83d9dc](https://github.com/Steffen025/pai-opencode/commit/f83d9dc225783bd8bdf56fe37e075913c4b2e536)) -* **cli:** FeatureRegistry handle flags correctly in update ([785fefa](https://github.com/Steffen025/pai-opencode/commit/785fefa7b26e417eb0495baa301d4af432e6da5b)) -* CodeRabbit round-1 — wrong paths, spring shadowing, frames doc, fontSize, import casing ([dddf58a](https://github.com/Steffen025/pai-opencode/commit/dddf58a015eb98115d8c8edf74346ceb2f7cec94)) -* CodeRabbit round-2 — arg bounds checks, NaN guards, path fixes, Remotion delay API ([85e8bf8](https://github.com/Steffen025/pai-opencode/commit/85e8bf878e53d7c6354a4859ea67976b992328d6)) -* CodeRabbit round-2 + CI secrets scanner false positives ([d241112](https://github.com/Steffen025/pai-opencode/commit/d2411121b0846eb7d17108ee33ed04061701065c)) -* CodeRabbit round-3 — 13 bugs across BannerMatrix/FailureCapture/YouTubeApi/Analyze/ExtractTranscript ([e757cb7](https://github.com/Steffen025/pai-opencode/commit/e757cb747d164c827c8fbbf2e7a3d87ce9750a44)) -* CodeRabbit round-3 — TIMESTAMP consistency + MD040 fences in AdHocYouTubeThumbnail ([083349c](https://github.com/Steffen025/pai-opencode/commit/083349c2acb26d8c110c3279b8623a3ac7dbdfdd)) -* CodeRabbit round-4 — 8 bugs across ExtractTranscript/FailureCapture/YouTubeApi/Analyze ([45637ee](https://github.com/Steffen025/pai-opencode/commit/45637eead8d9425190c5ad8f42cda1da89afe833)) -* CodeRabbit round-4 — normalize {timestamp} to ${TIMESTAMP} on line 342 ([10d325b](https://github.com/Steffen025/pai-opencode/commit/10d325b51650c87b06d1ccb18905c8109cd4ff0e)) -* CodeRabbit round-5 — timeout, strict int, arg parse, clearTimeout finally, 8-word strict ([839ef2e](https://github.com/Steffen025/pai-opencode/commit/839ef2ee97c53fd0d7c2972fa604e7c23ce3db56)) -* complete work session intelligence port ([81d7d93](https://github.com/Steffen025/pai-opencode/commit/81d7d933238e113ea9e0588214b5cbaf52a0aa6c)) -* **config:** Change 'plugins' to 'plugin' (correct schema key) ([4fad315](https://github.com/Steffen025/pai-opencode/commit/4fad31548aae3abfcc00d9cbb8fe0212e25c66b2)) -* **config:** Remove plugin array - use auto-discovery instead ([90bb6a2](https://github.com/Steffen025/pai-opencode/commit/90bb6a2722129dc7d0471753a7d13ce3327f3a7a)) -* **core:** OpenCode-native architecture — zero bootstrap, Zen free default ([d5421a2](https://github.com/Steffen025/pai-opencode/commit/d5421a269cd8543505bebd2b9ceafd1941475cb4)) -* **core:** OpenCode-native architecture — zero bootstrap, Zen free default ([406dac2](https://github.com/Steffen025/pai-opencode/commit/406dac2ef8bf63f38b1a70cf5341183cf71adb12)) -* correct explore agent type case-sensitivity and update agent mapping ([1a3823a](https://github.com/Steffen025/pai-opencode/commit/1a3823a5e024697fdf23f5e513ab3b636c6bb540)) -* crash fixes, wizard build-from-source rewrite, simplified versioning (v1.3.1) ([5c0ff65](https://github.com/Steffen025/pai-opencode/commit/5c0ff652d02d642158411913e3368c16dfe664a8)), closes [#21](https://github.com/Steffen025/pai-opencode/issues/21) -* **defaults:** ship with big-pickle only + clarify two-step provider setup ([428275c](https://github.com/Steffen025/pai-opencode/commit/428275c3fc5cd303a0d6136f648b77e7009c93db)) -* **deps:** add ajv to .opencode/package.json for action schema validation ([d0dab5e](https://github.com/Steffen025/pai-opencode/commit/d0dab5ec28c940953f0763153cf91c69b54db1e7)) -* **docs:** address CodeRabbit round-2 findings — callouts, file count, Mermaid ([f429a69](https://github.com/Steffen025/pai-opencode/commit/f429a69fd4472d15d5e2ea2b8c70a312706a6cae)) -* **docs:** address CodeRabbit round-3 — correct PR-12 count to 18, fix diagram branch, add sed portability, MD028, Mermaid diagram ([e484aae](https://github.com/Steffen025/pai-opencode/commit/e484aaeec3523026b061577a31d47d8f5b54a5ac)) -* **docs:** align changelog and installer CLI flags ([db20343](https://github.com/Steffen025/pai-opencode/commit/db2034300a47b8bc53565991ace9d8ec9a151811)) -* **docs:** correct THEHOOKSYSTEM/THEPLUGINSYSTEM reality in all planning docs ([cba9e0f](https://github.com/Steffen025/pai-opencode/commit/cba9e0fde1fdb8ba5e031d5926bd1e317877de52)) -* **docs:** fix remaining stale +16 → +17 in statistics tables ([b23711e](https://github.com/Steffen025/pai-opencode/commit/b23711ee4d929e0aa8bc92498f377dcfe8bb9ff2)) -* **docs:** update GitPush.md remote references from .claude to .opencode ([9293b34](https://github.com/Steffen025/pai-opencode/commit/9293b34fb5b20f2055ae7f68042946fdeaa743f5)) -* enable websearch, codesearch, webfetch built-in tools ([756a38c](https://github.com/Steffen025/pai-opencode/commit/756a38c14104b62b778956056fc291b510dbe475)), closes [#9](https://github.com/Steffen025/pai-opencode/issues/9) -* exclude skill Tools directories from bundle ([ddb2875](https://github.com/Steffen025/pai-opencode/commit/ddb287576def88c87a769a47715dc124713f4135)) -* **fabric:** correct typos in ask_uncle_duke/system.md ([9714f22](https://github.com/Steffen025/pai-opencode/commit/9714f2209741e4ca005fafb0c9524da25df2d732)) -* filter trivial messages from creating empty work sessions ([17fb4b0](https://github.com/Steffen025/pai-opencode/commit/17fb4b0ef511aa6d61fc230fae1791fcbaa2beb3)), closes [#24](https://github.com/Steffen025/pai-opencode/issues/24) -* **installer:** add Homebrew permission error handling ([f76f3c7](https://github.com/Steffen025/pai-opencode/commit/f76f3c7079f430daf65e400a95b0547deecc1b57)) -* **installer:** address CodeRabbit review findings ([bc367f8](https://github.com/Steffen025/pai-opencode/commit/bc367f83fa15d4a5832b70696f2bddfe9ad45ae1)) -* **installer:** address CodeRabbit round-2 findings ([2aea3e7](https://github.com/Steffen025/pai-opencode/commit/2aea3e73d0a69f132ec693c0397a9e80f3f5e5bc)) -* **installer:** address CodeRabbit round-3 findings ([3ac8640](https://github.com/Steffen025/pai-opencode/commit/3ac8640ae9c1433c9f1fb77d83328b82f561693a)) -* **installer:** address CodeRabbit round-4 findings ([bb99d64](https://github.com/Steffen025/pai-opencode/commit/bb99d64364c7e3e45536dc7543f36d3e6bda4a82)) -* **installer:** address CodeRabbit round-5 findings ([fde092c](https://github.com/Steffen025/pai-opencode/commit/fde092c85fd275abf702f3738665355a18738a34)) -* **installer:** avoid self-symlinking and stop reconnects after completion ([ce7cd64](https://github.com/Steffen025/pai-opencode/commit/ce7cd646431d76ef83cba7375a3cb9bbae23b79f)) -* **installer:** create required dirs, shell alias, and correct settings schema ([ae8b0aa](https://github.com/Steffen025/pai-opencode/commit/ae8b0aa86beb216ed1c26788ab952a0465790bc1)) -* **installer:** create required dirs, shell alias, and correct settings schema ([cfdabba](https://github.com/Steffen025/pai-opencode/commit/cfdabba0e7a7f4dd222cbd93949234ba7d1950f4)) -* **installer:** enforce mode exclusivity and align wizard fallback behavior ([c15d23c](https://github.com/Steffen025/pai-opencode/commit/c15d23c3cec84aee05503369c9837eab72282e18)) -* **installer:** fix input prompts when piped + verify logo patch ([daa5242](https://github.com/Steffen025/pai-opencode/commit/daa52421d12b0268503b91632d7871e080120bd3)) -* **installer:** handle SIGINT prompt cleanup and clarify mode flag errors ([5a6c58a](https://github.com/Steffen025/pai-opencode/commit/5a6c58ab065e201d118e744a62650ae922d6c7c4)) -* **installer:** harden shell wiring and opencode launcher resolution ([52a8a90](https://github.com/Steffen025/pai-opencode/commit/52a8a902add60cbad386e43f7b6de0e91943b70b)) -* **installer:** harden validation and reconnect handling ([4dadb14](https://github.com/Steffen025/pai-opencode/commit/4dadb149f50911140e03cd6faab4e3cee7534ce1)) -* **installer:** harden wizard prompts and dry-run migration flow ([39aa3d2](https://github.com/Steffen025/pai-opencode/commit/39aa3d24a258befe66bc8c27857bd829596932df)) -* **installer:** install .opencode runtime dependencies on fresh/migrate ([372a751](https://github.com/Steffen025/pai-opencode/commit/372a751c1586fa21eb8cfde8dd22a29e7c3c8e98)) -* **installer:** install runtime deps for .opencode tooling ([a0b389e](https://github.com/Steffen025/pai-opencode/commit/a0b389e7d5210ad108d393029ee381070aed7b88)) -* **installer:** make pai/opencode work on fresh machines ([fbcc2f1](https://github.com/Steffen025/pai-opencode/commit/fbcc2f1f5f1b65406527d839954a102475fce701)) -* **installer:** prerequisites display, build hang, validation step, spinner cleanup ([f4ab414](https://github.com/Steffen025/pai-opencode/commit/f4ab414df2a7d2d91f6cee33da5be027dfda5d1b)) -* **installer:** prevent broken pai alias and missing opencode ([1513ac4](https://github.com/Steffen025/pai-opencode/commit/1513ac49ea22d7b198bd1388d9d04821f76bf9d8)) -* **installer:** remove stale pai alias and validate opencode ([fbc5c60](https://github.com/Steffen025/pai-opencode/commit/fbc5c601c40b7aa90bbac7fa793a09c00553f0fa)) -* **installer:** replace stale ~/.opencode links and mute post-install disconnect banner ([6ffdcc6](https://github.com/Steffen025/pai-opencode/commit/6ffdcc69fbc4b23108818344889919a19b3f31c6)) -* **installer:** responsive banner + Go PATH detection ([9085d63](https://github.com/Steffen025/pai-opencode/commit/9085d63bd7ebf85c272e30c583c43263154733d5)) -* **installer:** write fish-compatible pai function ([f05ddeb](https://github.com/Steffen025/pai-opencode/commit/f05ddeb78c3286d7c3e65cb099817eef8d12a44f)) -* **issue-28:** extractTextContent handles message.parts and output.parts ([e5785c4](https://github.com/Steffen025/pai-opencode/commit/e5785c4c767038f3bffd504199888b1ed724fbe0)), closes [#28](https://github.com/Steffen025/pai-opencode/issues/28) -* **lint:** node: imports, no-non-null-assertion, useTemplate in runner.v2.ts ([ee65fa6](https://github.com/Steffen025/pai-opencode/commit/ee65fa61b4541914a6a47ebd2da39e26e5add413)) -* **lint:** node: imports, remove unused readFile, fix switch fallthrough in pai.ts ([972f446](https://github.com/Steffen025/pai-opencode/commit/972f4461ba98a693dca237e668a6740fcd5d3542)) -* **lint:** remove useless continue at end of for loop body (pai.ts:71) ([0182569](https://github.com/Steffen025/pai-opencode/commit/0182569b1cfe0e186c084508b1ff12b0affc19c8)) -* **lint:** use node: import protocol in pipeline-runner.ts ([2a1d8c9](https://github.com/Steffen025/pai-opencode/commit/2a1d8c93fdde60e6a860a06172fd10215129baa5)) -* **lint:** use node: import protocol in runner.ts ([7dd67a3](https://github.com/Steffen025/pai-opencode/commit/7dd67a329a96b66b7ce8da38f34aa25cb1b472e4)) -* **model-config:** Auto-detect provider from opencode.json model field ([d8c029b](https://github.com/Steffen025/pai-opencode/commit/d8c029bb4e977e06b7fdb184d8efc9320be4abf6)) -* **oauth:** silent token refresh — no browser popup ([#88](https://github.com/Steffen025/pai-opencode/issues/88)) ([86d1d6f](https://github.com/Steffen025/pai-opencode/commit/86d1d6f2ecc3f6ddb39ffaccd5ebddc3a5b8d68f)) -* **oauth:** sync full token-bridge with OAuth2 refresh strategy to .opencode and contrib ([#89](https://github.com/Steffen025/pai-opencode/issues/89)) ([9f9c93d](https://github.com/Steffen025/pai-opencode/commit/9f9c93d5ec0363305cbbde321c61918c21821c0c)) -* **pai:** coderabbit review — gitignore, cmdPrompt env, explicit PAI_ENABLED check ([9f789f5](https://github.com/Steffen025/pai-opencode/commit/9f789f5a9aae30448273817645e218bf84a892bd)) -* **plugins:** CodeRabbit round-2 — error handling, shell safety, DB consistency ([6caf7cf](https://github.com/Steffen025/pai-opencode/commit/6caf7cf8916f03df4b2993ee8d1783414be71cd2)) -* **plugins:** round-4 inline CodeRabbit fixes ([63296ba](https://github.com/Steffen025/pai-opencode/commit/63296ba1dbabd9374a7e8e9a60379de4d72211b7)) -* **plugins:** round-5 CodeRabbit hardening ([c8a8bae](https://github.com/Steffen025/pai-opencode/commit/c8a8bae8641f53e1fc7afaab49cd2ffbefde6c70)) -* **plugin:** use ESM import.meta.url instead of __filename ([aeac334](https://github.com/Steffen025/pai-opencode/commit/aeac3349e6cfa5fabbdacfd9907499adef1c49ce)) -* **pr07:** address CodeRabbit Round 1 security findings ([a150931](https://github.com/Steffen025/pai-opencode/commit/a150931bd1c0f34a6de3a4b7b4005b19c7075b53)) -* **pr07:** address CodeRabbit Round 2 findings ([ae8a56b](https://github.com/Steffen025/pai-opencode/commit/ae8a56b7072677906f271f6900178fa52bc08042)) -* **pr07:** address CodeRabbit Round 3 findings ([9dcd7d5](https://github.com/Steffen025/pai-opencode/commit/9dcd7d5388fa33180fc0453f431936849594df5c)) -* **pr07:** address CodeRabbit Round 4 findings ([0e8dee8](https://github.com/Steffen025/pai-opencode/commit/0e8dee8e631050303a40a1b860e890b68e7971b6)) -* **pr08:** address CodeRabbit Round 1 findings ([cc38afd](https://github.com/Steffen025/pai-opencode/commit/cc38afd5bc5a588fe0a0696d7d57448d724047a5)) -* **pr08:** address CodeRabbit Round 2 findings ([65d6953](https://github.com/Steffen025/pai-opencode/commit/65d69536cc606a49ca80533f8a08b11b2bb58cd0)) -* **pr08:** address CodeRabbit Round 3 findings ([2840fd2](https://github.com/Steffen025/pai-opencode/commit/2840fd24c89a49bc99bdcc9fa8dd444dfdcddd94)) -* **pr08:** address CodeRabbit Round 4 findings ([96e23ba](https://github.com/Steffen025/pai-opencode/commit/96e23baaba8113b7cb10f086f9847014d03ef0be)) -* **pr08:** address CodeRabbit Round 5 findings ([c416abd](https://github.com/Steffen025/pai-opencode/commit/c416abd6b6a6874fb95d39768f66314916abf327)) -* **prereq:** flatten Telos and USMetrics nested directories (C.1) ([502455c](https://github.com/Steffen025/pai-opencode/commit/502455cfbe97a9a671e5e43b4617a1bf6134444e)) -* prevent CLI tools from executing on bundle import ([003fda7](https://github.com/Steffen025/pai-opencode/commit/003fda7857f1f3b68229959f55cf27dcc0dc44d3)) -* **quality:** Code Rabbit batch 4 - Core fixes ([da804ea](https://github.com/Steffen025/pai-opencode/commit/da804eafed7cde72b37770d7e2edb5fcb1f9a6a2)) -* **quality:** Code Rabbit minor fixes batch 3 ([4fd8668](https://github.com/Steffen025/pai-opencode/commit/4fd8668bec136420e12eddcf5f027554411c0f20)) -* **quality:** Final Code Rabbit fixes batch 6 ([cccc92c](https://github.com/Steffen025/pai-opencode/commit/cccc92c2fbad39b15e1c323f77f96a19259e162e)) -* **rating:** Fix chat.message payload extraction + MEMORY structure ([f6b577e](https://github.com/Steffen025/pai-opencode/commit/f6b577e2bfc5ab6351599106d6f3ef7a3222ec9c)), closes [#6](https://github.com/Steffen025/pai-opencode/issues/6) -* Remove duplicate Fabric patterns + add PAI-to-OpenCode mapping guide ([43473b1](https://github.com/Steffen025/pai-opencode/commit/43473b11f77de2a278ae267befd6e8e65eff075c)) -* remove incorrect voice curl template variable limitation ([1181619](https://github.com/Steffen025/pai-opencode/commit/11816196e3942f8f244e79877acaef40d91dd519)) -* remove nested duplicate folder structures, add Cost-Aware Research system ([595b09e](https://github.com/Steffen025/pai-opencode/commit/595b09ec7f093f76a4be65c1d9c0b0f78e9e4c1b)) -* resolve 7 wizard issues from clean-user testing ([1774245](https://github.com/Steffen025/pai-opencode/commit/17742454d2f99396fe1ccf2964426d8148c85cdc)) -* resolve all 8 PR [#64](https://github.com/Steffen025/pai-opencode/issues/64) bugs in PAI Tools ([e315c1e](https://github.com/Steffen025/pai-opencode/commit/e315c1e1efc822cac5634832703f149ce5a7bdd2)) -* restore correct v1.2 hero banner (not the v1.0 or v1.3.0 version) ([ad861ad](https://github.com/Steffen025/pai-opencode/commit/ad861adbd92c412d0a354f6dc6cc49e8c0f0f4e2)) -* restore hex color codes in all agent markdown frontmatter ([#80](https://github.com/Steffen025/pai-opencode/issues/80)) ([f47ad43](https://github.com/Steffen025/pai-opencode/commit/f47ad43d934ae24e0dcf9c08722950cc5dd82d42)) -* restore original hero banner (v1.3.0 release image was only for release asset) ([1273559](https://github.com/Steffen025/pai-opencode/commit/1273559e6ba59f7c5d20ae3a170cdcd8739cec39)) -* **review:** add explicit shell setup end marker in steps-fresh ([9c30fdf](https://github.com/Steffen025/pai-opencode/commit/9c30fdf1201a016f07eec49c1b286f09d6919c5e)) -* **review:** address all CodeRabbit findings + resolve merge conflict ([abd1410](https://github.com/Steffen025/pai-opencode/commit/abd141028f5884601158c6a6110a211b8ee16bcd)) -* **review:** Address CodeRabbit findings — verify-then-fix pass ([f90f29f](https://github.com/Steffen025/pai-opencode/commit/f90f29f67652a87212875e2e435e5b52f448ef1e)) -* **review:** address CodeRabbit PR [#138](https://github.com/Steffen025/pai-opencode/issues/138) commentary ([43a25af](https://github.com/Steffen025/pai-opencode/commit/43a25afb28e23650f257325443e18fa5c873aa24)) -* **review:** address CodeRabbit round 2 commentary ([e33f7c8](https://github.com/Steffen025/pai-opencode/commit/e33f7c8267f2eda426d4da9a61232b26bd173610)) -* **review:** address CodeRabbit round 3 commentary ([ba1f4b1](https://github.com/Steffen025/pai-opencode/commit/ba1f4b13af03fd00e552724be49805497a3e0da4)) -* **review:** address CodeRabbit round 4 commentary ([73be561](https://github.com/Steffen025/pai-opencode/commit/73be561ae8944db4d6fc5e7f187a1ca6cd7921a2)) -* **review:** align launcher order and fish shell wiring ([e660b74](https://github.com/Steffen025/pai-opencode/commit/e660b74e38175faf737bf2273f31fa108a62fb00)) -* **review:** apply targeted path and tooling consistency updates ([bde2084](https://github.com/Steffen025/pai-opencode/commit/bde2084d85a5ff1cb4f1d461a1c2ca37471e7b8d)) -* **review:** correct parser workflow paths and migrate shell markers ([e65cc7a](https://github.com/Steffen025/pai-opencode/commit/e65cc7ac28aed6af93c888e26be20076d0362b6e)) -* **review:** recurse hook counting and ensure state dir exists ([fd7bfef](https://github.com/Steffen025/pai-opencode/commit/fd7bfef5dd79b99ef07ff317f0379d39caebdaa1)) -* **review:** tighten executable checks and shell block safety ([0996f10](https://github.com/Steffen025/pai-opencode/commit/0996f10b7f38a20d20397146cd92bbde01df1f8b)) -* **runtime:** align OpenCode paths and post-install defaults ([f0a0523](https://github.com/Steffen025/pai-opencode/commit/f0a0523272be77f15a58efe3f9deb159d1514160)) -* **security:** Address Code Rabbit critical findings ([8eeef6f](https://github.com/Steffen025/pai-opencode/commit/8eeef6f4b2bbc597f9507d99a4fdbc0945919c43)) -* **security:** ADR-009 + CodeRabbit critical fixes ([f9c16a2](https://github.com/Steffen025/pai-opencode/commit/f9c16a2a46c3527b7b9d97be9547fc7634c3fc96)) -* **security:** Critical Code Rabbit fixes batch 1 ([102485c](https://github.com/Steffen025/pai-opencode/commit/102485c18ed1e8012bf55b639d5312a051759a35)) -* **security:** Path Traversal fixes batch 2 ([c5f45b0](https://github.com/Steffen025/pai-opencode/commit/c5f45b04b206f5ec0c87379831fd9ceef9d20b25)) -* **security:** prevent path traversal in findAction + reject cloud mode explicitly ([666886d](https://github.com/Steffen025/pai-opencode/commit/666886dd6812d303e3724bc1b413d0c7a790bfc8)) -* **shell.env:** document two-layer env system, add explicit key passthrough ([09b80e1](https://github.com/Steffen025/pai-opencode/commit/09b80e14dc5f3be2e847a75ac7966546cea1ceae)) -* **skills:** address CodeRabbit findings in PR-05 Fabric patterns ([783d54b](https://github.com/Steffen025/pai-opencode/commit/783d54b5b724b73a1a5873593cd13db218909163)) -* **skills:** address second CodeRabbit review round for PR-05 ([97c6754](https://github.com/Steffen025/pai-opencode/commit/97c675484aabbd49d1cfae21231bdcc5bc0783a8)) -* **skills:** Fix YAML frontmatter parsing errors for OpenCode ([2e6ae7c](https://github.com/Steffen025/pai-opencode/commit/2e6ae7c5c0ee7fc19e07764eb40532c927cccd90)) -* **skills:** resolve duplicate skill names and PAI frontmatter ([98f6253](https://github.com/Steffen025/pai-opencode/commit/98f62532fb5b838491c2a4d5754a8d2d7a8e2deb)) -* stop processing message.part.updated for user message handling ([308a004](https://github.com/Steffen025/pai-opencode/commit/308a004a7f855af81e612f1eda64f67ef5ff6889)), closes [#17](https://github.com/Steffen025/pai-opencode/issues/17) -* **structure:** move AudioEditor to top-level skills ([656f029](https://github.com/Steffen025/pai-opencode/commit/656f029ad1840a15a10795321f454cc62fbceeed)) -* **structure:** move Xlsx, Pdf, Docx, Pptx to Utilities/ level ([914e45e](https://github.com/Steffen025/pai-opencode/commit/914e45e2f829488cb801fa334e6b939603153409)) -* **System:** Adapt System workflows for OpenCode architecture ([25b252c](https://github.com/Steffen025/pai-opencode/commit/25b252cbab5facd4ea449eac0eafb0b4d20acca8)) -* **tracker:** add missing total_checked field to DiscoveryResult return ([c730be7](https://github.com/Steffen025/pai-opencode/commit/c730be77006389636be62c8ee54c06bfd2771081)) -* v1.0 Audit Remediation - 6 Critical + 3 Medium fixes ([7335a76](https://github.com/Steffen025/pai-opencode/commit/7335a76e6d1caebcaba567ea8bb275b7e644d682)) -* v1.0 Final Polish - 3 MUSS fixes + 3 Docs clarifications ([d2b3732](https://github.com/Steffen025/pai-opencode/commit/d2b37323f3c46d5174470ce428e327061ff7461b)) -* v1.0 Polish - Complete audit remediation for public release ([5d723ba](https://github.com/Steffen025/pai-opencode/commit/5d723ba522ffa3c619bb92c6a21f3ea4fd06233e)) -* wizard build process — fix execCommand null-trim bug, remove Go prerequisite, update docs ([23d2435](https://github.com/Steffen025/pai-opencode/commit/23d2435c18e94de82c1b378895322a44bc303d94)) -* wizard PATH detection — verify binary directly, auto-fix missing PATH entry ([3612a73](https://github.com/Steffen025/pai-opencode/commit/3612a734625af38776410969683603ed35837a6b)) -* **wizard:** Remove unrecognized 'pai' key from opencode.json + add 6 more providers ([e6b7793](https://github.com/Steffen025/pai-opencode/commit/e6b7793e7670cc37e6b55d339acdaf7ec0afb318)) -* **wizard:** Show OAuth/subscription option for Anthropic and OpenAI ([d91276c](https://github.com/Steffen025/pai-opencode/commit/d91276c0aaa4efe5a1ee0061dccc0333023a7338)) -* **workflow:** Update fork repo name for upstream sync ([99fe3da](https://github.com/Steffen025/pai-opencode/commit/99fe3da2f43fe2b7189a4b09a3874c2fcbc071f9)) -* **wp-a:** fix 3 CodeRabbit bugs, add shell.env hook, add OpenCode research ([c9cff5f](https://github.com/Steffen025/pai-opencode/commit/c9cff5f28c28ceb0d3de5f577ba989512a13d8e7)) -* **wp-c:** address all CodeRabbit feedback items ([a99d376](https://github.com/Steffen025/pai-opencode/commit/a99d3765fb6fae3d59a9206c123d6f0a099fe5da)) -* **wp-d:** address all CodeRabbit PR review findings ([262a55b](https://github.com/Steffen025/pai-opencode/commit/262a55b122e744c82f145f581fa7a54eb577d087)) -* **wp-e:** Address CodeRabbit findings - import fixes, type corrections, implementation completion ([328f961](https://github.com/Steffen025/pai-opencode/commit/328f961559c0c5a98b583fd139f9e155b018fdd8)) -* **wp-e:** Address CodeRabbit security and type issues ([c265498](https://github.com/Steffen025/pai-opencode/commit/c26549865ec2f29e3f8bb3d63f94600ac6949922)) -* **wp-e:** Address second round of CodeRabbit findings ([84674d2](https://github.com/Steffen025/pai-opencode/commit/84674d2ea6fc89e3cb516f6270a98e242c56670a)) -* **wp-e:** Address third round of CodeRabbit findings ([1f01732](https://github.com/Steffen025/pai-opencode/commit/1f01732e3c141551428f6acf22e250146e71f8df)) -* **wp-e:** Implement stepInstallPAI - replace placeholder with actual installation logic ([7e962ad](https://github.com/Steffen025/pai-opencode/commit/7e962ad0757372eea91789fe9c6bbacd255e668d)) -* **wp-m1:** address coderabbit review feedback on PR [#107](https://github.com/Steffen025/pai-opencode/issues/107) ([78f8dde](https://github.com/Steffen025/pai-opencode/commit/78f8dde0869b336b4629f402bbd6e76e5fa6c3f5)) -* **wp-m1:** coderabbit round 2 + integrate PR [#103](https://github.com/Steffen025/pai-opencode/issues/103) model updates (credit [@ktneely](https://github.com/ktneely)) ([55adca0](https://github.com/Steffen025/pai-opencode/commit/55adca0774fef41cd89eda1eb2a8f4af32012d65)) -* **wp-m1:** coderabbit round 3 — local provider, agent merging, legacy model derivation ([e6ccbc0](https://github.com/Steffen025/pai-opencode/commit/e6ccbc0c0b1c61105e88ef3d1400f308301a1473)) -* **wp-n1:** Address review findings ([83830c9](https://github.com/Steffen025/pai-opencode/commit/83830c9eb34459c2161d3d7c57e4b8538fe090fc)) -* **wp-n1:** Implement compare-and-swap for race condition ([e9b9563](https://github.com/Steffen025/pai-opencode/commit/e9b9563736fa5987e8cfc62d030b700b375f6dd4)) -* **wp-n2:** Address CodeRabbit review findings - session isolation ([68cfb0a](https://github.com/Steffen025/pai-opencode/commit/68cfb0aef158a7f2217046f28aa3265c4b8e3cfd)) -* **wp-n3:** Address CodeRabbit review findings - PRD schema & recovery docs ([5c28f97](https://github.com/Steffen025/pai-opencode/commit/5c28f97fdd83ea148fbd0acc4009571d46ef2c5e)) -* **wp-n3:** Address CodeRabbit review findings - schema completeness ([ca0f3fb](https://github.com/Steffen025/pai-opencode/commit/ca0f3fb4fbe7f44b332701eb12c4f925714429f6)) -* **wp-n3:** Canonical field consistency and secure fallback ([fd20c17](https://github.com/Steffen025/pai-opencode/commit/fd20c17401465d60d05f5f152f5ca6acacdedc4f)) -* **wp-n3:** Correct field count and clarify PRE-OBSERVE recovery rules ([7be3d1a](https://github.com/Steffen025/pai-opencode/commit/7be3d1a7449b0ea4434a90b1df628db237361a8c)) -* **wp-n4:** Address CodeRabbit review findings ([370598f](https://github.com/Steffen025/pai-opencode/commit/370598f89596b84c28103455cff0b0b54aa250e7)) -* **wp-n4:** Sync TODO-v3.0.md status consistency ([5086ad5](https://github.com/Steffen025/pai-opencode/commit/5086ad5c855edc61a512536a7e23a4d60cd47139)) -* **wp-n5:** Address CodeRabbit findings — checkbox, WP-E status, intro text ([b6dbba9](https://github.com/Steffen025/pai-opencode/commit/b6dbba93f47c411d0d3529fdf2a0f239a924676c)) -* **wp-n5:** Progress bar 100% and section header Complete — all 4 tasks done ([4ff842f](https://github.com/Steffen025/pai-opencode/commit/4ff842f163ed543da7bfb74826f3500e5d6da252)) -* **wp-n6:** Add Quick Triage ASCII+Mermaid and non-interactive Still Stuck escalation ([e9bf80b](https://github.com/Steffen025/pai-opencode/commit/e9bf80b1fa79d2c606bc45a2565f94212f79c797)) -* **wp-n6:** Add text language identifier to all fenced checklist blocks ([3ec6a28](https://github.com/Steffen025/pai-opencode/commit/3ec6a28ad314956fcd0c693b89770bff1873130b)) -* **wp-n6:** Address CodeRabbit round-2 findings ([95db445](https://github.com/Steffen025/pai-opencode/commit/95db445b90ca8d93b8e987653e923f0a5cf22b9e)) -* **wp-n6:** Address feedback — remove hardcoded models, Obsidian formatting, CodeRabbit fixes ([dc7d8c2](https://github.com/Steffen025/pai-opencode/commit/dc7d8c2beb9ce9e779bd2f65e04791c61da37ae0)) -* **wp-n6:** Clarify Bun import extension resolution — .ts not required by default ([4c2ecd9](https://github.com/Steffen025/pai-opencode/commit/4c2ecd989ef38e0366e4fda5e2d8453f06902aa3)) -* **wp-n7:** address CodeRabbit review findings ([34f108b](https://github.com/Steffen025/pai-opencode/commit/34f108b0ff8d645b37b7f49b0eca4ef2802a3da5)) -* **wp-n7:** address fourth round of CodeRabbit findings ([925aa98](https://github.com/Steffen025/pai-opencode/commit/925aa98c9f7ab4af319c816d93f5dedb424acd18)) -* **wp-n7:** address second round of CodeRabbit findings ([623b8cf](https://github.com/Steffen025/pai-opencode/commit/623b8cfe43db3dee0db63bad0517c68dc5ae3d88)) -* **wp-n7:** address third round of CodeRabbit findings ([eadb175](https://github.com/Steffen025/pai-opencode/commit/eadb1752b40bcca242696f5ed4d4a99c0d5904f1)) -* **wp-n7:** fix Biome CI scope + auto-fix all plugin code quality issues ([24c03d4](https://github.com/Steffen025/pai-opencode/commit/24c03d4b7f96097c5cdccb5e3439bd6136a2d7b6)) -* **wp-n8:** remove personal MCP server data from agent matrix ([36b549c](https://github.com/Steffen025/pai-opencode/commit/36b549c749cc2f6c366d351442e576967823e157)) -* **wp-n9:** address CodeRabbit findings ([bb04b36](https://github.com/Steffen025/pai-opencode/commit/bb04b361d529496826984163c658173bc2dff195)) -* **wp-n9:** address CodeRabbit findings round 3 ([ab37834](https://github.com/Steffen025/pai-opencode/commit/ab378347d31e87083c7898c04fcdbbdfcdd68cc1)) -* **wp-n9:** address remaining CodeRabbit findings ([bd0bc9c](https://github.com/Steffen025/pai-opencode/commit/bd0bc9c79403ee112f9fa7469a0f5a8a53e541c8)) -* **wp-n9:** align indentation of symlink block to parent scope ([92f14a7](https://github.com/Steffen025/pai-opencode/commit/92f14a71fd5f35e37387a7f275ad1abce845784e)) -* **wp-n9:** correct zen advanced model ID to claude-3-5-haiku ([0760018](https://github.com/Steffen025/pai-opencode/commit/076001899dea51f60c434c91fd1cb442cc952034)) -* **wp-n9:** defensive copy legacy alias exports to isolate from PROVIDER_MODELS ([60e4b02](https://github.com/Steffen025/pai-opencode/commit/60e4b0284870cc9bc5e3a219fddd66e3bfc3f83e)) -* **wp-n9:** generate full agent-tier opencode.json from provider choice ([6c90b36](https://github.com/Steffen025/pai-opencode/commit/6c90b364c658b4ed9ae285d7078369b5c9449ba1)) -* **wp-n9:** generate full agent-tier opencode.json from provider choice ([ecf671c](https://github.com/Steffen025/pai-opencode/commit/ecf671c48bbc64bdf7634642a6bced4afbf38b37)) -* **wp1:** Address CodeRabbit review comments ([ef72908](https://github.com/Steffen025/pai-opencode/commit/ef7290828ca17baf74bf8899eb29033aa5e4e2e2)) -* **wp2:** Address all Code Rabbit review comments ([5253f39](https://github.com/Steffen025/pai-opencode/commit/5253f39914502e84094b9c27e87d74d6f17b6c6f)) -* **wp2:** Address CodeRabbit review comments ([83fa771](https://github.com/Steffen025/pai-opencode/commit/83fa7713c3b4d72721c3ab98ab7fd39b8f2b02d7)) -* **wp2:** Address CodeRabbit review comments ([4c4c6c8](https://github.com/Steffen025/pai-opencode/commit/4c4c6c82cdff7e3826d6dbe2dbce2a1c920f25fb)) -* **wp2:** Address CodeRabbit review comments + add workdir documentation ([4d68988](https://github.com/Steffen025/pai-opencode/commit/4d68988473c201e25af5e705e9e96eac3f7d5f7f)) -* **wp2:** All content in English only ([c5c1df7](https://github.com/Steffen025/pai-opencode/commit/c5c1df70657cb88111be6e5974002175fe2d97b0)) -* **wp2:** Minimal Nützlich statt minimal möglich ([3c23f24](https://github.com/Steffen025/pai-opencode/commit/3c23f24c3812586d1117fef6b17e89ffc7023cc4)) -* **wp2:** Skill Discovery Index im Bootstrap ([dde4e52](https://github.com/Steffen025/pai-opencode/commit/dde4e527e8bdddb9bc8a5c71ab73ad75716a6ec8)) -* **wp3:** Address CodeRabbit review findings ([426b7ff](https://github.com/Steffen025/pai-opencode/commit/426b7ff1ed48a11effde16d205acf7fe8c6fd4df)) -* **wp3:** Address second round of CodeRabbit review findings ([8154ecc](https://github.com/Steffen025/pai-opencode/commit/8154ecc80c4b3ee33faf2b83c2f128f32e524008)) -* **wp4:** Address additional PR [#40](https://github.com/Steffen025/pai-opencode/issues/40) review findings ([2f1e42b](https://github.com/Steffen025/pai-opencode/commit/2f1e42b16c9b84835449b47ae7e336de8bc91c15)) -* **wp4:** Address PR [#40](https://github.com/Steffen025/pai-opencode/issues/40) review findings ([cf073d4](https://github.com/Steffen025/pai-opencode/commit/cf073d495522956e947cff9814821a74f07a6565)) -* **wp4:** Final CodeRabbit review - platform paths, deterministic output ([987a56e](https://github.com/Steffen025/pai-opencode/commit/987a56eef2b7486d6ea9992e99426b46d0a9e736)) -* **wp4:** Final round of PR [#40](https://github.com/Steffen025/pai-opencode/issues/40) review fixes ([3381911](https://github.com/Steffen025/pai-opencode/commit/3381911a14b114d49ba14042664d8179c806c48c)) -* **wp4:** Phase 1 - Fix broken skill path references ([18b510e](https://github.com/Steffen025/pai-opencode/commit/18b510e86379d61654d1ca3c9d9d81307fddbf87)) -* **wp4:** Phase 1 - Fix broken skill path references ([5527366](https://github.com/Steffen025/pai-opencode/commit/552736626bcc499da257aa367e9795080249bec0)) - -## [3.0.0] - 2026-04-12 - -### ⚠️ Breaking Changes - -- **`model_tiers` removed (WP-M1 Vanilla OpenCode Migration).** PAI-OpenCode now runs on **vanilla OpenCode** from opencode.ai. The custom `Steffen025/opencode` fork (branch `feature/model-tiers`) is no longer used. Each agent in `opencode.json` has exactly one `model` field — the `model_tiers` block (with `quick`/`standard`/`advanced` sub-models) is no longer supported. -- **`model_tier` parameter removed from Task tool.** Task tool calls no longer accept a `model_tier: "quick" | "standard" | "advanced"` argument. The agent's configured model is always used. See ADR-019 for the full rationale. -- **Installer no longer builds OpenCode from source.** Fresh installs now invoke the official vanilla installer (`curl -fsSL https://opencode.ai/install | bash`) instead of cloning and compiling the fork. Install time drops from ~5-10 minutes to seconds. -- Plugin system migrated from hooks to event-driven architecture (WP-A) -- Skills structure changed: flat → hierarchical Category/Skill (WP-C) -- Config dual-file: `opencode.json` + `settings.json` (replaces single file) -- All paths migrated: `.claude/` → `.opencode/`, `CLAUDE.md` → `AGENTS.md` - -### Migration Path (for existing v2.x users with model_tiers) - -**Automated:** Run `bun run PAI-Install/engine/migrate-legacy-config.ts ~/.opencode/opencode.json`. This converts old `model_tiers` blocks to the new flat format by preserving each agent's `standard` tier model as the new canonical `model`. - -**Manual:** Delete all `model_tiers` blocks from your `opencode.json`. Keep only the top-level `"model"` field per agent. Example: - -```jsonc -// BEFORE (v2.x — no longer supported) -"Engineer": { - "model": "anthropic/claude-sonnet-4-5", - "model_tiers": { - "quick": { "model": "anthropic/claude-haiku-4-5" }, - "standard": { "model": "anthropic/claude-sonnet-4-5" }, - "advanced": { "model": "anthropic/claude-opus-4-6" } - } -} - -// AFTER (v3.0+) -"Engineer": { - "model": "anthropic/claude-sonnet-4-5" -} -``` - -**For Task tool callers:** +* **provider:** Ship with `opencode/big-pickle` only — removes volatile free model assignments that rotate ([428275c](https://github.com/Steffen025/pai-opencode/commit/428275c)) +* **plugin:** Rename `loadMinimalBootstrap()` → `loadUserSystemContext()` — clarifies function purpose ([e33f7c8](https://github.com/Steffen025/pai-opencode/commit/e33f7c8)) +* **plugin:** Fix `files_loaded` counter in context emitter — now counts all injected files including AISTEERINGRULES.md ([ba1f4b1](https://github.com/Steffen025/pai-opencode/commit/ba1f4b1)) +* **docs:** Fix `USER/` → `PAI/USER/` paths throughout docs and diagrams ([ba1f4b1](https://github.com/Steffen025/pai-opencode/commit/ba1f4b1)) +* **installer:** Remove misleading ANTHROPIC_API_KEY/OPENAI_API_KEY from .env template — provider auth goes through /connect, not .env ([73be561](https://github.com/Steffen025/pai-opencode/commit/73be561)) +* **installer:** Remove providerApiKey → .env write — model provider credentials are stored by OpenCode, not in this repo ([73be561](https://github.com/Steffen025/pai-opencode/commit/73be561)) +* **ci:** Apply StepSecurity hardening ([ab12ccd](https://github.com/Steffen025/pai-opencode/commit/ab12ccd)) +* fix(pai): coderabbit review — gitignore, cmdPrompt env, explicit PAI_ENABLED check ([9f789f5](https://github.com/Steffen025/pai-opencode/commit/9f789f5)) -```typescript -// BEFORE (v2.x) -Task({ subagent_type: "Engineer", model_tier: "quick", prompt: "..." }) -// AFTER (v3.0+) — use a lightweight agent for cheap work -Task({ subagent_type: "explore", prompt: "..." }) // or "Intern" -// For standard work, just use Engineer -Task({ subagent_type: "Engineer", prompt: "..." }) -// For heavy work, use Architect or Algorithm -Task({ subagent_type: "Architect", prompt: "..." }) -``` +### Migration -### Added +* **model_tiers:** Run `bun run PAI-Install/engine/migrate-legacy-config.ts ~/.opencode/opencode.json` to auto-convert existing configs. See [UPGRADE.md](UPGRADE.md) for full instructions. +* **provider setup:** After install, run `/connect` inside OpenCode then `bun run .opencode/tools/switch-provider.ts ` to set your preferred models. -#### Session Registry (WP-N1) — PR #50 -- **`session_registry` custom tool** — Lists all active sessions with IDs and metadata -- **`session_results` custom tool** — Fetches output from a named session -- OpenCode-native session awareness for post-compaction context recovery - -#### Compaction Intelligence (WP-N2) — PR #51 -- **`experimental.session.compacting` hook** — Detects compaction events in real time -- **Context injection on resume** — Automatically re-injects PAI context after compaction -- Prevents silent context loss mid-session - -#### Algorithm Awareness (WP-N3) — PR #52+#53 -- **SKILL.md CONTEXT RECOVERY** — Uses `session_registry` + `session_results` for post-compaction awareness -- **PRD `parent_session_id`** — Links child PRDs back to originating session -- Full Algorithm v1.8.0 context continuity across compaction boundaries - -#### LSP Documentation (WP-N4) — PR #53 -- **AGENTS.md LSP section** — Documents OpenCode's Language Server Protocol integration -- **Installer `.env` setup** — API key configuration documented -- *Note: WP-N4 originally also documented the `Steffen025/opencode` fork and `feature/model-tiers` branch. Those docs were removed in WP-M1 (Vanilla OpenCode Migration, see below) and replaced with vanilla OpenCode install instructions.* - -#### Plan Update (WP-N5) — PR #54 -- **All planning docs synced** — TODO-v3.0.md, OPTIMIZED-PR-PLAN.md reflect WP-N1..N4 complete -- Progress diagrams updated - -#### System Self-Awareness (WP-N6) — PR #55 -- **OpenCodeSystem skill** — Self-referential skill for system introspection -- **4 architecture reference docs** — SystemArchitecture.md, ToolReference.md, Configuration.md, Troubleshooting.md -- **ADR-017** — System self-awareness architectural decision - -#### roborev + Biome CI (WP-N7) — PR #56 -- **roborev plugin handler** — `plugins/handlers/roborev-trigger.ts` for AI code review -- **CodeReview skill** — `skills/CodeReview/SKILL.md` for in-session code review -- **GitHub Actions CI** — `.github/workflows/code-quality.yml` runs Biome on every PR -- **ADR-018** — roborev + Biome CI architectural decision - -#### Obsidian Formatting Guidelines (WP-N8) — PR #57 -- **FormattingGuidelines.md** — Obsidian frontmatter, callouts, Mermaid, code block patterns -- **AgentCapabilityMatrix.md** — All agent types, agent models, tool/MCP access, decision rules - -#### Installer opencode.json Fix (WP-N9) — PR #58 -- **4 provider presets** — anthropic, zen, openrouter, openai (was 3) -- **opencode.json generation** — Correct provider-specific config per preset -- `principalName` populated from username during install - -#### Docs Consolidation (WP-N10) — PR #59 -- **CHANGELOG.md** — Released, WP-N1..N10 Added sections with correct WP titles -- **CONTRIBUTING.md** — Skills structure updated to hierarchical `Category/SkillName/` -- **INSTALL.md** — 4 provider presets documented -- **README.md** — Broken links to non-existent files removed -- **Planning docs deleted** — GAP-ANALYSIS-v3.0.md, EPIC-v3.0-OpenCode-Native.md, OPENCODE-NATIVE-RESEARCH.md (completed, no longer needed) - -#### Vanilla OpenCode Migration (WP-M1) -- **ADR-019** — `docs/architecture/adr/ADR-019-vanilla-opencode-migration.md` — Architectural decision record documenting the `model_tiers` removal, fork archival rationale, and rejected alternatives -- **Legacy-config migration script** — `PAI-Install/engine/migrate-legacy-config.ts` — Automated converter for user `opencode.json` files with legacy `model_tiers` blocks, preserves each agent's `standard` tier model as the new canonical `model`, creates `.pre-v3.0.bak` backup before any changes -- **Vanilla installer path** — `PAI-Install/engine/actions.ts` — New `installVanillaOpenCode()` function calls `curl -fsSL https://opencode.ai/install | bash` instead of cloning a fork -- **Deprecation notices** — Troubleshooting.md, ToolReference.md, AgentCapabilityMatrix.md, and PLATFORM-DIFFERENCES.md gained explicit deprecation callouts explaining the `model_tier` removal and pointing to the migration script -- **Partial supersession markers** — ADR-005 and ADR-012 gained `> [!warning] PARTIAL SUPERSESSION` notices at the top plus inline historical notes, preserving decision history while clarifying which parts are superseded by ADR-019 - -### Removed (WP-M1 Vanilla Migration) - -- `PAI-Install/engine/build-opencode.ts` — the entire 245-LOC fork build system -- `model_tiers` config block from `opencode.json` (16 agents, all tiers stripped) -- `model_tier` parameter reading from `.opencode/plugins/handlers/agent-execution-guard.ts` -- `modelTier` field from `.opencode/plugins/handlers/session-registry.ts` session entries -- `tiers?` field from `AgentConfig` interface in `.opencode/tools/switch-provider.ts` -- `tiers:` sections from all 5 profile YAML files (`.opencode/profiles/{anthropic,openai,zen,zen-paid,local}.yaml`) -- Fork-clone / build-from-source logic from `PAI-Install/engine/actions.ts`, `steps-fresh.ts`, `steps-migrate.ts`, `steps-update.ts` -- `runSkipBuildFallback` dead code from `PAI-Install/cli/install-wizard.ts` -- `model_tier mapping` requirement from `.coderabbit.yaml` agent frontmatter validation rule -- `stepBuildOpenCode` and `stepBinaryUpdate` binary-build logic — functions retained as no-ops for API compatibility, delegations to fork-build removed -- All references to `Steffen025/opencode` URLs and `feature/model-tiers` branch from runtime code - -### Changed (WP-M1 Vanilla Migration) - -- `PAI-Install/wrapper-template.sh` — Rewritten from custom-build launcher to vanilla-OpenCode wrapper. `--rebuild` replaced with `--install` (invokes `opencode.ai/install`). -- `PAI-Install/engine/actions.ts` — `buildOpenCodeFromSource()` replaced with `installVanillaOpenCode()` which runs the official vanilla install script. -- `opencode.json` — Flat one-model-per-agent format. Sensible defaults: Algorithm=Opus, explore/Intern=Haiku, everyone else=Sonnet. -- `.opencode/profiles/*.yaml` — All 5 profiles (anthropic, openai, zen, zen-paid, local) collapsed to `model:` per agent; tier sub-keys removed. -- `README.md`, `INSTALL.md`, `UPGRADE.md`, `KNOWN_LIMITATIONS.md`, `docs/**`, `EPIC-v3.0-Synthesis-Architecture.md` — All documentation rewritten to reflect vanilla OpenCode and agent-based cost optimization. - -### Deprecated (WP-M1 Vanilla Migration) - -- `--skip-build` CLI flag — silently ignored with deprecation warning. Will be removed in a future release. -### Changed -- Skills organization: flat → hierarchical (Category/Skill) -- Config management: single-file → dual-file -- Installer: CLI-only → CLI + Electron GUI -- Security: none → full prompt injection protection +### Dependencies -### Migration -- See [UPGRADE.md](/UPGRADE.md) for detailed migration instructions -- Run `bun Tools/migration-v2-to-v3.ts --dry-run` to preview -- Automatic backup created before any changes +* bump @opencode-ai/plugin from 1.1.39 to 1.4.3 ([a3d332e](https://github.com/Steffen025/pai-opencode/commit/a3d332e)) +* bump actions/checkout from 4.3.1 to 6.0.2 ([c15b4f9](https://github.com/Steffen025/pai-opencode/commit/c15b4f9)) +* bump actions/github-script from 7.1.0 to 9.0.0 ([dadcd80](https://github.com/Steffen025/pai-opencode/commit/dadcd80)) +* bump actions/upload-artifact from 4.6.2 to 7.0.1 ([ac84b04](https://github.com/Steffen025/pai-opencode/commit/ac84b04)) +* bump github/codeql-action from 3.35.1 to 4.35.1 ([c78d7cc](https://github.com/Steffen025/pai-opencode/commit/c78d7cc)) +* bump ossf/scorecard-action from 2.4.0 to 2.4.3 ([a4591c3](https://github.com/Steffen025/pai-opencode/commit/a4591c3)) +* bump sharp from 0.33.5 to 0.34.5 in Pptx/Scripts ([85a5993](https://github.com/Steffen025/pai-opencode/commit/85a5993)) +* bump @types/node from 20.19.39 to 25.6.0 in BugBountyTool ([b772613](https://github.com/Steffen025/pai-opencode/commit/b772613)) --- diff --git a/package.json b/package.json index 89f3c3b0..900a3e47 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pai-opencode", - "version": "4.0.0", + "version": "3.0.0", "description": "Personal AI Infrastructure for OpenCode (based on PAI v3.0, Algorithm v1.8.0)", "type": "module", "scripts": { From 9fecd8bc3ace10509b6df94b6166f21dfffe18b7 Mon Sep 17 00:00:00 2001 From: Steffen Zellmer <151627820+Steffen025@users.noreply.github.com> Date: Mon, 13 Apr 2026 14:48:21 +0200 Subject: [PATCH 3/7] =?UTF-8?q?chore(main):=20release=20pai-opencode=203.0?= =?UTF-8?q?.0=20=E2=80=94=20comprehensive=20changelog=20+=20remove=20epic?= =?UTF-8?q?=20folder?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CHANGELOG [3.0.0] now covers all 19 work packages (WP1-WP4, WP-A through WP-N10, WP-M1, PR #138) including: - Algorithm v3.7.0, hierarchical skills, native skill loading, Zen free default - Event-driven plugin system (5 new handlers, bus events, shell.env hook) - Security hardening (prompt injection detection, input sanitization) - Core PAI system (skill fixes, PAI v4.0.3 docs port) - Installer & migration (migrate-legacy-config.ts, DB health, /db-archive) - Session intelligence (session registry, compaction intelligence, awareness) - Docs & tooling (system self-awareness, roborev/Biome CI, agent matrix) - Provider infrastructure (switch-provider.ts, two-step setup, ToS warning) - 8 dependency updates Remove docs/epic/ — all 6 working documents (EPIC, TODO, RUNBOOK, PLANS, CLEANUP) were project management scaffolding for a completed v3.0 migration. Architectural decisions live in ADRs, scope in docs/SCOPE-BOUNDARY.md, and what shipped is now in CHANGELOG.md. --- CHANGELOG.md | 147 +- docs/epic/CLAUDE-CLEANUP-PLAN.md | 503 ------ docs/epic/EPIC-v3.0-Synthesis-Architecture.md | 1116 ------------- docs/epic/OPTIMIZED-PR-PLAN.md | 244 --- docs/epic/TODO-v3.0.md | 519 ------ docs/epic/V3.0-COMPLETION-PLAN.md | 599 ------- docs/epic/V3.0-RUNBOOK.md | 1433 ----------------- docs/epic/pr-filelists/PR-01-files.txt | 46 - docs/epic/pr-filelists/PR-02-files.txt | 20 - docs/epic/pr-filelists/PR-03-files.txt | 143 -- docs/epic/pr-filelists/PR-04-files.txt | 130 -- docs/epic/pr-filelists/PR-05-files.txt | 130 -- docs/epic/pr-filelists/PR-06-files.txt | 58 - docs/epic/pr-filelists/PR-07-files.txt | 130 -- docs/epic/pr-filelists/PR-08-files.txt | 84 - docs/epic/pr-filelists/PR-09-files.txt | 3 - docs/epic/pr-filelists/PR-10-files.txt | 146 -- docs/epic/pr-filelists/PR-11-files.txt | 45 - 18 files changed, 115 insertions(+), 5381 deletions(-) delete mode 100644 docs/epic/CLAUDE-CLEANUP-PLAN.md delete mode 100644 docs/epic/EPIC-v3.0-Synthesis-Architecture.md delete mode 100644 docs/epic/OPTIMIZED-PR-PLAN.md delete mode 100644 docs/epic/TODO-v3.0.md delete mode 100644 docs/epic/V3.0-COMPLETION-PLAN.md delete mode 100644 docs/epic/V3.0-RUNBOOK.md delete mode 100644 docs/epic/pr-filelists/PR-01-files.txt delete mode 100644 docs/epic/pr-filelists/PR-02-files.txt delete mode 100644 docs/epic/pr-filelists/PR-03-files.txt delete mode 100644 docs/epic/pr-filelists/PR-04-files.txt delete mode 100644 docs/epic/pr-filelists/PR-05-files.txt delete mode 100644 docs/epic/pr-filelists/PR-06-files.txt delete mode 100644 docs/epic/pr-filelists/PR-07-files.txt delete mode 100644 docs/epic/pr-filelists/PR-08-files.txt delete mode 100644 docs/epic/pr-filelists/PR-09-files.txt delete mode 100644 docs/epic/pr-filelists/PR-10-files.txt delete mode 100644 docs/epic/pr-filelists/PR-11-files.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index ab8075ed..e6eb188c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,59 +9,142 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [3.0.0](https://github.com/Steffen025/pai-opencode/compare/opencode-v2.0.0...pai-opencode-v3.0.0) (2026-04-13) +PAI-OpenCode v3.0 is the **OpenCode-native release** — a complete re-architecture that moves from a Claude Code fork to vanilla OpenCode, removes the bootstrap loading mechanism in favour of the native skill system, and ships a zero-config Zen free default so users are productive immediately. + +--- ### ⚠️ Breaking Changes -* **wp-m1:** `model_tiers` removed — PAI-OpenCode now runs on **vanilla OpenCode** from opencode.ai. The custom `Steffen025/opencode` fork is archived. Each agent in `opencode.json` has exactly one `model` field. The `model_tier` parameter is removed from Task tool invocations. See [ADR-019](docs/architecture/adr/ADR-019-vanilla-opencode-migration.md) and [UPGRADE.md](UPGRADE.md) for migration instructions. -* **core:** Bootstrap loading removed — the PAI Core Skill (Algorithm, ISC, Capabilities) now loads via OpenCode's native skill system (`tier: always`) instead of via the `pai-unified.ts` plugin. `MINIMAL_BOOTSTRAP.md` is deleted. See [ADR-020](docs/architecture/adr/ADR-020-native-opencode-context-loading.md). -* **skills:** `skills/CORE` renamed to `skills/PAI` — the PAI Core Skill now lives in `PAI/SKILL.md`. -* **installer:** Provider selection removed from install wizard — providers are configured post-install via `/connect` in OpenCode + `switch-provider.ts`. +* **`model_tiers` removed (WP-M1).** Each agent in `opencode.json` has exactly one `model` field. The `model_tiers` block (`quick`/`standard`/`advanced`) and the `model_tier` Task parameter are gone. Run `migrate-legacy-config.ts` to auto-convert. See [ADR-019](docs/architecture/adr/ADR-019-vanilla-opencode-migration.md) and [UPGRADE.md](UPGRADE.md). +* **Vanilla OpenCode only.** The custom `Steffen025/opencode` fork is archived. Install via the official [opencode.ai](https://opencode.ai) installer — no custom build required. +* **Bootstrap loading removed (ADR-020).** `MINIMAL_BOOTSTRAP.md` is deleted. The PAI Core Skill (Algorithm, ISC, Capabilities) now loads via OpenCode's native skill system (`tier: always` via `GenerateSkillIndex.ts` + `skills/PAI` symlink). Plugin loads user identity context only. +* **`skills/CORE` renamed to `skills/PAI`.** All internal paths updated. +* **Provider setup is post-install.** The install wizard no longer asks about providers. Connect via `/connect` in OpenCode, then update agent models with `switch-provider.ts`. See [INSTALL.md](INSTALL.md). +--- + +### Migration + +For v2.x users with `model_tiers` configs: + +```bash +bun run PAI-Install/engine/migrate-legacy-config.ts ~/.opencode/opencode.json +``` + +Full guide: [UPGRADE.md](UPGRADE.md). + +--- ### Features -* **core:** OpenCode-native architecture — zero bootstrap, PAI/SKILL.md tier:always via native skill scanner ([406dac2](https://github.com/Steffen025/pai-opencode/commit/406dac2)) -* **core:** Zen free out-of-box — all agents default to `opencode/big-pickle`, no API key required ([428275c](https://github.com/Steffen025/pai-opencode/commit/428275c)) -* **installer:** Interactive terminal install wizard for v3 ([fc095cd](https://github.com/Steffen025/pai-opencode/commit/fc095cd)) -* **installer:** Two-step provider setup documented — `/connect` (credentials) + `switch-provider.ts` (opencode.json) ([43a25af](https://github.com/Steffen025/pai-opencode/commit/43a25af)) -* **installer:** PAI wrapper script — separate `pai` command from `opencode` ([6f1eab3](https://github.com/Steffen025/pai-opencode/commit/6f1eab3)) -* **wp-m1:** Vanilla OpenCode migration — removes fork dependency, instant install via opencode.ai ([f814f94](https://github.com/Steffen025/pai-opencode/commit/f814f94)) -* **wp-m1:** Legacy config migration script for v2.x model_tiers → flat model ([e6ccbc0](https://github.com/Steffen025/pai-opencode/commit/e6ccbc0)) -* **ci:** Professional CI/CD workflows, CodeRabbit integration, upstream sync automation ([ac6bceb](https://github.com/Steffen025/pai-opencode/commit/ac6bceb)) -* **docs:** ADR-020 — Native OpenCode context loading architecture decision ([9fad5e6](https://github.com/Steffen025/pai-opencode/commit/9fad5e6)) +#### Core Architecture + +* **Algorithm v3.7.0 ported** from upstream PAI v4.0.3 — Constraint Fidelity System, Verification Rehearsal, ISC Adherence Check, Build Drift Prevention (WP1, PRs #32-35) +* **Hierarchical skill structure** — 11 categories (Agents, ContentAnalysis, Investigation, Media, Research, Scraping, Security, Telos, Thinking, USMetrics, Utilities) migrated from flat layout (WP4, PRs #38-40) +* **Native skill loading** — `PAI/SKILL.md` is `tier: always` via `GenerateSkillIndex.ts`; skills load on-demand via OpenCode's native skill tool; 233KB static context eliminated (WP2, PR #34 + PR #138) +* **Zen free out-of-box** — all agents default to `opencode/big-pickle` (permanent Zen flagship, no API key required); volatile free Zen models removed as defaults due to rotation risk (PR #138) + +#### Event-Driven Plugin System (WP3 + WP-A, PRs #37, #42) + +* **Unified plugin** `pai-unified.ts` — replaces 5 separate plugins and hook emulation layer +* **5 new plugin handlers**: `prd-sync.ts`, `session-cleanup.ts`, `last-response-cache.ts`, `relationship-memory.ts`, `question-tracking.ts` +* **Bus events**: `session.compacted`, `session.error`, `permission.asked`, `command.executed`, `installation.update.available`, `session.updated`, `session.created` +* **`shell.env` hook** — PAI context injected per bash call +* **`loadUserSystemContext()`** — plugin now loads only user-specific context (PAI/AISTEERINGRULES.md + USER/* identity files); Algorithm content loads via skill system + +#### Security Hardening (WP-B, PR #43) + +* **Prompt injection detection** — `injection-patterns.ts` with configurable sensitivity (low/medium/high) +* **Input sanitization layer** — `sanitizer.ts` pre-processes input before LLM +* **Security event logging** — audit trail for injection attempts +* Integration runs on `tool.execute.before` and `message.received` events +#### Core PAI System (WP-C, PR #45) + +* **Skill structure fixes** — flattened incorrectly nested `USMetrics/USMetrics/` and `Telos/Telos/` directories +* **New skills ported from PAI v4.0.3**: `Utilities/AudioEditor/`, `Utilities/Delegation/` +* **PAI docs ported from v4.0.3**: `CLI.md`, `CLIFIRSTARCHITECTURE.md`, `DOCUMENTATIONINDEX.md`, `FLOWS.md`, `PAIAGENTSYSTEM.md`, `THENOTIFICATIONSYSTEM.md` + 3 subdirectories (`ACTIONS/`, `FLOWS/`, `PIPELINES/`) +* **`BuildOpenCode.ts`** — OpenCode-native replacement for `BuildCLAUDE.ts` + +#### Installer & Migration (WP-D, PR #47) + +* **Migration script** `migrate-legacy-config.ts` — auto-converts `model_tiers` blocks, preserves `standard` tier model, creates `.pre-v3.0.bak` backup +* **DB Health tooling** — `db-utils.ts` monitors DB size and session age; warns when DB > 500 MB or sessions > 90 days old +* **`db-archive.ts`** — standalone Bun tool (`--dry-run`, `--vacuum`, `--restore`) +* **`/db-archive` custom command** — session archiving in OpenCode TUI +* **`DB-MAINTENANCE.md`** — operational guide +* **Interactive terminal install wizard** — CLI-only, Electron GUI removed (PR #96) +* **PAI wrapper script** — `pai` command separate from `opencode`, explicit `PAI_ENABLED=1` (PR #104) + +#### Session Intelligence (WP-N1–N3, PRs #50-53) + +* **Session Registry** — `session_registry` and `session_results` custom tools for post-compaction context recovery (ADR-012) +* **Compaction Intelligence** — `compaction-intelligence.ts` hooks `experimental.session.compacting`; injects registry + ISC + PRD context into compaction summary to prevent silent context loss (ADR-015) +* **Algorithm Awareness** — SKILL.md updated with post-compaction recovery pattern; `parent_session_id` links child PRDs to originating session (ADR-013) + +#### Documentation & Tooling (WP-N4–N10, PRs #53-59) + +* **LSP integration documented** — `OPENCODE_EXPERIMENTAL_LSP_TOOL=true` opt-in, LSP vs Grep decision table (ADR-014) +* **System Self-Awareness skill** — `OpenCodeSystem/SKILL.md` with `SystemArchitecture.md`, `ToolReference.md`, `Configuration.md`, `Troubleshooting.md` (ADR-017) +* **roborev + Biome CI** — `roborev-trigger.ts` handler, `CodeReview` skill, `code-quality.yml` GitHub Actions workflow (ADR-018) +* **Obsidian Formatting Guidelines** — `FormattingGuidelines.md` and `AgentCapabilityMatrix.md` (16 agents, models, tool access, decision rules) +* **ADR-019** — Vanilla OpenCode migration decision record +* **ADR-020** — Native OpenCode context loading (bootstrap removal) decision record + +#### Provider Infrastructure + +* **`switch-provider.ts`** — switches all agent models with one command; profiles: zen, zen-free, zen-paid, anthropic, openai, local; `--multi-research` for native research agents +* **Two-step provider setup** documented — `/connect` (credentials) → `switch-provider.ts` (opencode.json agent models) +* **Anthropic Claude Max ToS warning** — community plugin not shipped; ToS-safe alternatives documented in INSTALL.md + +#### CI/CD + +* **GitHub Actions** — `ci.yml`, `code-quality.yml`, `codeql.yml`, `scorecards.yml`, upstream sync workflows +* **CodeRabbit** integration (`.coderabbit.yaml`) +* **StepSecurity hardening** — CI workflows hardened (PR #108) +* **release-please** — automated release management + +--- ### Bug Fixes -* **provider:** Ship with `opencode/big-pickle` only — removes volatile free model assignments that rotate ([428275c](https://github.com/Steffen025/pai-opencode/commit/428275c)) -* **plugin:** Rename `loadMinimalBootstrap()` → `loadUserSystemContext()` — clarifies function purpose ([e33f7c8](https://github.com/Steffen025/pai-opencode/commit/e33f7c8)) -* **plugin:** Fix `files_loaded` counter in context emitter — now counts all injected files including AISTEERINGRULES.md ([ba1f4b1](https://github.com/Steffen025/pai-opencode/commit/ba1f4b1)) -* **docs:** Fix `USER/` → `PAI/USER/` paths throughout docs and diagrams ([ba1f4b1](https://github.com/Steffen025/pai-opencode/commit/ba1f4b1)) -* **installer:** Remove misleading ANTHROPIC_API_KEY/OPENAI_API_KEY from .env template — provider auth goes through /connect, not .env ([73be561](https://github.com/Steffen025/pai-opencode/commit/73be561)) -* **installer:** Remove providerApiKey → .env write — model provider credentials are stored by OpenCode, not in this repo ([73be561](https://github.com/Steffen025/pai-opencode/commit/73be561)) -* **ci:** Apply StepSecurity hardening ([ab12ccd](https://github.com/Steffen025/pai-opencode/commit/ab12ccd)) -* fix(pai): coderabbit review — gitignore, cmdPrompt env, explicit PAI_ENABLED check ([9f789f5](https://github.com/Steffen025/pai-opencode/commit/9f789f5)) +* Fix `files_loaded` counter — now counts all injected files including `PAI/AISTEERINGRULES.md` (was hardcoded `1`) +* Fix `USER/` → `PAI/USER/` paths in plugin, docs, and diagrams +* Remove provider API key write from `.env` generation — model provider auth via `/connect`, not `.env` +* Remove misleading `ANTHROPIC_API_KEY`/`OPENAI_API_KEY` examples from `.env` template +* Rename `loadMinimalBootstrap()` → `loadUserSystemContext()` — name now matches behaviour +* Fix stale log messages in plugin (`"minimal bootstrap"` → `"user system context"`) +* Fix `ALWAYS_LOADED_SKILLS` docs — correctly shows all 6 entries matching `GenerateSkillIndex.ts` +--- -### Migration +### Removed -* **model_tiers:** Run `bun run PAI-Install/engine/migrate-legacy-config.ts ~/.opencode/opencode.json` to auto-convert existing configs. See [UPGRADE.md](UPGRADE.md) for full instructions. -* **provider setup:** After install, run `/connect` inside OpenCode then `bun run .opencode/tools/switch-provider.ts ` to set your preferred models. +* `PAI-Install/electron/` — GUI installer +* `PAI-Install/engine/build-opencode.ts` — fork build system (245 LOC) +* `MINIMAL_BOOTSTRAP.md` — replaced by native skill system +* `model_tiers` blocks from `opencode.json` and all provider profiles +* `model_tier` parameter from `agent-execution-guard.ts`, `session-registry.ts` +* `tiers:` sections from all provider YAML profiles +* `PAI-Install/web/` and `PAI-Install/main.ts` +* All references to `Steffen025/opencode` fork and `feature/model-tiers` branch +--- ### Dependencies -* bump @opencode-ai/plugin from 1.1.39 to 1.4.3 ([a3d332e](https://github.com/Steffen025/pai-opencode/commit/a3d332e)) -* bump actions/checkout from 4.3.1 to 6.0.2 ([c15b4f9](https://github.com/Steffen025/pai-opencode/commit/c15b4f9)) -* bump actions/github-script from 7.1.0 to 9.0.0 ([dadcd80](https://github.com/Steffen025/pai-opencode/commit/dadcd80)) -* bump actions/upload-artifact from 4.6.2 to 7.0.1 ([ac84b04](https://github.com/Steffen025/pai-opencode/commit/ac84b04)) -* bump github/codeql-action from 3.35.1 to 4.35.1 ([c78d7cc](https://github.com/Steffen025/pai-opencode/commit/c78d7cc)) -* bump ossf/scorecard-action from 2.4.0 to 2.4.3 ([a4591c3](https://github.com/Steffen025/pai-opencode/commit/a4591c3)) -* bump sharp from 0.33.5 to 0.34.5 in Pptx/Scripts ([85a5993](https://github.com/Steffen025/pai-opencode/commit/85a5993)) -* bump @types/node from 20.19.39 to 25.6.0 in BugBountyTool ([b772613](https://github.com/Steffen025/pai-opencode/commit/b772613)) +* bump @opencode-ai/plugin 1.1.39 → 1.4.3 ([#118](https://github.com/Steffen025/pai-opencode/pull/118)) +* bump actions/checkout v4 → v6 ([#124](https://github.com/Steffen025/pai-opencode/pull/124)) +* bump actions/github-script v7 → v9 ([#129](https://github.com/Steffen025/pai-opencode/pull/129)) +* bump actions/upload-artifact v4 → v7 ([#127](https://github.com/Steffen025/pai-opencode/pull/127)) +* bump github/codeql-action v3 → v4 ([#114](https://github.com/Steffen025/pai-opencode/pull/114)) +* bump ossf/scorecard-action 2.4.0 → 2.4.3 ([#111](https://github.com/Steffen025/pai-opencode/pull/111)) +* bump sharp 0.33.5 → 0.34.5 in Pptx/Scripts ([#119](https://github.com/Steffen025/pai-opencode/pull/119)) +* bump @types/node v20 → v25 in BugBountyTool ([#113](https://github.com/Steffen025/pai-opencode/pull/113)) --- + ## [2.0.0] - 2026-02-19 ### Breaking Changes diff --git a/docs/epic/CLAUDE-CLEANUP-PLAN.md b/docs/epic/CLAUDE-CLEANUP-PLAN.md deleted file mode 100644 index 6fae1c8f..00000000 --- a/docs/epic/CLAUDE-CLEANUP-PLAN.md +++ /dev/null @@ -1,503 +0,0 @@ ---- -status: READY TO EXECUTE -created: 2026-03-13 -purpose: Detaillierter Plan für die semantische Claude→OpenCode Bereinigung -tags: - - v3.0 - - claude-cleanup - - pr-12 ---- - -# Claude→OpenCode — Vollständiger Bereinigungsplan - -> [!info] Status -> **Status:** READY TO EXECUTE | **Erstellt:** 2026-03-13 -> **Zweck:** Detaillierter Plan für die semantische Claude→OpenCode Bereinigung, -> integriert in die 12 Pull Requests des v3.0 Completion Plans. - ---- - -## Kritische Erkenntnis: Die größten Baustellen sind NICHT in den 11 PRs - -Die 11 PRs (PR-01 bis PR-11) decken den **Diff zwischen main und dev** ab — also Dateien die auf dev existieren aber auf main fehlen oder anders sind. - -**ABER:** Die schwersten Claude-Referenz-Dateien sind **bereits identisch auf main UND dev**. Sie wurden über PRs #62-65 nach main gebracht und seitdem nicht mehr geändert. Das heißt: - -| Datei | Claude-Treffer | In welchem PR? | -|-------|---------------|----------------| -| `.opencode/PAI/THEHOOKSYSTEM.md` | **48** | ❌ KEINER — identisch main=dev | -| `.opencode/PAI/TOOLS.md` | **25** | ❌ KEINER — identisch main=dev | -| `.opencode/PAI/MEMORYSYSTEM.md` | **20** | ❌ KEINER — identisch main=dev | -| `.opencode/PAI/SKILLSYSTEM.md` | **17** | ❌ KEINER — identisch main=dev | -| `.opencode/PAI/ACTIONS.md` | 7 | ❌ KEINER — identisch main=dev | -| `.opencode/PAI/README.md` | ~5 | ❌ KEINER — identisch main=dev | -| `.opencode/PAI/Algorithm/v3.7.0.md` | ~5 | ❌ KEINER — identisch main=dev | -| `.opencode/PAI/PRDFORMAT.md` | ~5 | ❌ KEINER — identisch main=dev | -| `.opencode/PAI/CLI.md` | ~5 | ❌ KEINER — identisch main=dev | -| `.opencode/PAI/Tools/BuildCLAUDE.ts` | ganzes File | ❌ KEINER — identisch main=dev | -| `.opencode/PAI/Tools/algorithm.ts` | ~8 | ✅ PR-02 (MODIFY) | -| `.opencode/PAI/Tools/SecretScan.ts` | ~3 | ❌ KEINER — identisch main=dev | -| `.opencode/PAI/Tools/GetTranscript.ts` | ~3 | ❌ KEINER — identisch main=dev | -| `.opencode/PAI/Tools/LoadSkillConfig.ts` | ~3 | ❌ KEINER — identisch main=dev | -| `.opencode/PAI/Tools/IntegrityMaintenance.ts` | ~3 | ✅ PR-02 (MODIFY) | -| `.opencode/PAI/Tools/ActivityParser.ts` | ~2 | ❌ KEINER — identisch main=dev | -| `.opencode/plugins/lib/identity.ts` | ~1 | ❌ KEINER — identisch main=dev | -| `.opencode/skills/Agents/Tools/LoadAgentContext.ts` | 1 (`claudeHome`) | ❌ KEINER — identisch main=dev | - -**→ Lösung: PR-12 für semantische Bereinigung aller Dateien die bereits auf main sind.** - ---- - -## Die 8 Kategorien (vollständige Analyse) - -### Kategorie 1: `~/.claude/` Pfade → `~/.opencode/` (MECHANISCH) - -**Typ:** Pfad-Referenz auf nicht-existierendes Verzeichnis -**Aktion:** `sed -i '' 's|~/\.claude/|~/.opencode/|g'` -**Schwierigkeit:** ⚡ Trivial — rein mechanisch -**Geschätzte Dateien:** ~30 - -**Wo im PR-Plan:** -- PR-02: `algorithm.ts`, `IntegrityMaintenance.ts` (als Teil des MODIFY) -- PR-12 (NEU): Alle identischen Dateien auf main (THEHOOKSYSTEM.md, MEMORYSYSTEM.md, TOOLS.md, SKILLSYSTEM.md, SecretScan.ts, GetTranscript.ts, LoadSkillConfig.ts, ActivityParser.ts, identity.ts, etc.) - -**Ausnahmen (NICHT ersetzen):** -- `PAI-TO-OPENCODE-MAPPING.md` — erklärt den Unterschied -- `MIGRATION.md` — Migrationsanleitung -- `UPSTREAM-SYNC-PROCESS.md` — Upstream-Referenz -- `pai-to-opencode-converter.ts` — Konvertierungstool -- `skill-migrate.ts`, `MigrationValidator.ts`, `migration-manifest.ts` — Migration-Tools - ---- - -### Kategorie 2: `CLAUDE.md` Dateireferenzen → `AGENTS.md` (MECHANISCH) - -**Typ:** Referenz auf nicht-existierende Datei -**Aktion:** `sed -i '' 's|CLAUDE\.md|AGENTS.md|g'` -**Schwierigkeit:** ⚡ Trivial — rein mechanisch -**Geschätzte Dateien:** ~15 - -**Wo im PR-Plan:** -- PR-02: `algorithm.ts` (als Teil des MODIFY) -- PR-12 (NEU): README.md (PAI), PRDFORMAT.md, Algorithm/v3.7.0.md, BuildCLAUDE.ts (siehe Kat. 5) - -**Ausnahmen:** Migration-Docs (wie Kat. 1) - ---- - -### Kategorie 3: `claude -p` CLI-Calls → OpenCode Task-Tool (SEMI-MECHANISCH) - -**Typ:** CLI-Aufrufe die in OpenCode nicht existieren -**Aktion:** Manuell pro Stelle — durch Task-Tool-Referenz oder Kommentar ersetzen -**Schwierigkeit:** ⚠️ Mittel — erfordert Verständnis des Kontexts -**Geschätzte Dateien:** 5 - -**Betroffene Dateien und Lösung:** - -| Datei | Kontext | Lösung | -|-------|---------|--------| -| `.opencode/PAI/Tools/algorithm.ts` | `Bun.spawn(["claude", "-p", ...])` — spawnt Subagent | → `// OpenCode: Use Task tool for subagent spawning` + Code-Kommentar. Funktional: Task-Tool-Aufruf stattdessen. | -| `.opencode/PAI/Tools/algorithm.ts` | `claude session` Referenzen (×3) | → Entfernen oder durch OpenCode-Session-API ersetzen | -| `.opencode/PAI/CLI.md` | Dokumentiert `claude -p` als Invokation | → Umschreiben auf OpenCode Task-Tool Pattern | -| `.opencode/PAI/SKILL.md` | Beispiel mit `claude -p` | → Umschreiben auf Task-Tool Beispiel | -| `.opencode/PAI/Algorithm/v3.7.0.md` | `claude -p` in Loop-Mode-Beschreibung | → Umschreiben: "Use opencode CLI or Task tool" | - -**Wo im PR-Plan:** -- PR-02: `algorithm.ts` (als Teil des MODIFY — ist bereits in der Dateiliste) -- PR-12 (NEU): CLI.md, SKILL.md, Algorithm/v3.7.0.md - ---- - -### Kategorie 4: "Claude Code" als Plattformname → "OpenCode" (SEMANTISCH) - -**Typ:** Dokumentation die Claude Code Konzepte beschreibt die in OpenCode nicht existieren oder anders heißen -**Aktion:** Semantisches Umschreiben — NICHT einfach suchen/ersetzen -**Schwierigkeit:** 🔴 HOCH — erfordert Verständnis der OpenCode-Architektur -**Geschätzte Dateien:** ~40 (davon ~6 mit schwerem Rewrite-Bedarf) - -**Die 6 schweren Fälle (alle in PR-12):** - -#### 4a. THEHOOKSYSTEM.md — zwei Instanzen, beide löschen - -**Situation:** Es gibt ZWEI THEHOOKSYSTEM.md Dateien und EINE THEPLUGINSYSTEM.md — alle auf main und dev identisch: - -| Datei | Pfad | Status | Aktion | -|-------|------|--------|--------| -| `THEHOOKSYSTEM.md` | `.opencode/PAI/` | ❌ Claude Code Version (`~/.claude/hooks/`, 1327 Zeilen) | **LÖSCHEN** | -| `THEHOOKSYSTEM.md` | `.opencode/skills/PAI/SYSTEM/` | ⚠️ Übergangsversion (`~/.opencode/hooks/`, 1323 Zeilen) | **LÖSCHEN** | -| `THEPLUGINSYSTEM.md` | `.opencode/skills/PAI/SYSTEM/` | ✅ Existiert! (363 Zeilen, Stand Jan 2026) | **UPDATEN** | - -**OpenCode-Realität:** Das Plugin-System hat sich seit Januar 2026 weiterentwickelt: -- 27 Handler in `plugins/handlers/*.ts` (THEPLUGINSYSTEM.md kennt nur Stand Jan 2026) -- `pai-unified.ts` als zentraler Event-Bus -- Adapter-Schicht in `plugins/adapters/`, Lib-Utilities in `plugins/lib/` - -**Lösung:** -- DELETE `.opencode/PAI/THEHOOKSYSTEM.md` (Claude Code Version) -- DELETE `.opencode/skills/PAI/SYSTEM/THEHOOKSYSTEM.md` (obsolete Übergangsversion) -- UPDATE `.opencode/skills/PAI/SYSTEM/THEPLUGINSYSTEM.md` — neue Handler dokumentieren, Stand aktualisieren -- ⏱️ **Geschätzter Aufwand: 1-2 Stunden** (Update statt Neuerstellung — Basis existiert bereits) - -#### 4b. MEMORYSYSTEM.md (20 Treffer) - -**Problem:** Referenziert Claude Code `projects/{uuid}.jsonl` Transcript-Speicher und `~/.claude/` Pfade. - -**OpenCode-Realität:** OpenCode speichert Sessions in SQLite (`~/.opencode/projects/`), nicht in JSONL. -- Session Registry Plugin statt Claude Code Transcripts -- `session_registry` Custom Tool statt JSONL-Dateien - -**Lösung:** Abschnitte über Transcript-Speicher umschreiben: -- `projects/{uuid}.jsonl` → OpenCode Session-DB-Referenz -- Alle `~/.claude/` Pfade → `~/.opencode/` -- "Claude Code sessions" → "OpenCode sessions" -- ⏱️ **Geschätzter Aufwand: 1-2 Stunden** - -#### 4c. TOOLS.md (25 Treffer) - -**Problem:** Listet Tools die in Claude Code existieren aber in OpenCode anders heißen oder fehlen. - -**Lösung:** Tool-Referenzen aktualisieren: -- Claude Code Built-in Tools → OpenCode Tool-Äquivalente -- `claude -p` Aufrufe → Task-Tool Referenzen -- ⏱️ **Geschätzter Aufwand: 1-2 Stunden** - -#### 4d. SKILLSYSTEM.md (17 Treffer) - -**Problem:** Beschreibt Skill-Loading im Kontext von Claude Code (CLAUDE.md bootstrapping, `~/.claude/skills/`). - -**OpenCode-Realität:** Skills werden über `AGENTS.md` und `skill-index.json` geladen. -- `~/.claude/skills/` → `~/.opencode/skills/` -- `CLAUDE.md` → `AGENTS.md` -- Skill-Trigger-System ist gleich, aber der Bootstrap-Mechanismus ist anders - -**Lösung:** Bootstrap-Referenzen umschreiben: -- ⏱️ **Geschätzter Aufwand: 1 Stunde** - -#### 4e. ACTIONS.md (7 Treffer) - -**Problem:** Referenziert `~/.claude/` Pfade und Claude Code Action-Konzepte. - -**Lösung:** Pfade ersetzen + Action-Beschreibungen aktualisieren: -- ⏱️ **Geschätzter Aufwand: 30 Minuten** - -#### 4f. README.md (.opencode/PAI/) (~5 Treffer) - -**Problem:** `CLAUDE.md` Referenzen, `~/.claude/` Pfade. - -**Lösung:** Mechanisch + ein paar Sätze umschreiben: -- ⏱️ **Geschätzter Aufwand: 15 Minuten** - ---- - -### Kategorie 5: `BuildCLAUDE.ts` — Ganzes File obsolet (ENTSCHEIDUNG NÖTIG) - -**Typ:** TypeScript-Tool das `CLAUDE.md` generiert — der Zweck existiert nicht mehr -**Datei:** `.opencode/PAI/Tools/BuildCLAUDE.ts` -**Schwierigkeit:** 🔴 ENTSCHEIDUNG - -**Optionen:** - -| Option | Beschreibung | Pro | Contra | -|--------|-------------|-----|--------| -| **A: Rename → BuildAGENTS.ts** | Umbenennen + alle internen Referenzen anpassen (CLAUDE.md→AGENTS.md, `~/.claude/`→`~/.opencode/`) | Funktionalität bleibt erhalten, AGENTS.md kann automatisch generiert werden | Aufwand ~1 Stunde, muss testen ob Output korrekt | -| **B: Löschen** | File komplett entfernen, AGENTS.md wird manuell gepflegt | Einfach, keine Wartung | Verliert Automatisierung | -| **C: Löschen + Deprecated-Note** | Löschen, aber in TOOLS.md notieren dass es BuildCLAUDE.ts gab | Sauber dokumentiert | Minimal mehr Aufwand als B | - -**Empfehlung:** Option A — die Automatisierung von AGENTS.md-Generierung ist wertvoll. - -**Wo im PR-Plan:** PR-12 (NEU) - ---- - -### Kategorie 6: `claudeHome` Variable (TRIVIAL) - -**Typ:** Variable in TypeScript benannt nach Claude, zeigt aber korrekt auf `.opencode/` -**Datei:** `.opencode/skills/Agents/Tools/LoadAgentContext.ts` Zeile 24 -**Schwierigkeit:** ⚡ Trivial - -**Lösung:** -```typescript -// Vorher: -const claudeHome = path.join(os.homedir(), ".opencode"); -// Nachher: -const opencodeHome = path.join(os.homedir(), ".opencode"); -``` -+ alle Referenzen auf `claudeHome` im gleichen File → `opencodeHome` - -**Wo im PR-Plan:** PR-12 (NEU) — Datei ist identisch main=dev - ---- - -### Kategorie 7: "claude session" Referenzen (CODE) - -**Typ:** Code-Referenzen auf `claude session` API die in OpenCode nicht existiert -**Dateien:** `algorithm.ts` (3 Stellen) -**Schwierigkeit:** ⚠️ Mittel - -**Problem:** `algorithm.ts` nutzt `claude session` CLI-Kommandos für Session-Management. - -**OpenCode-Realität:** OpenCode hat die Session Registry (Custom Tool via `session_registry`), aber keine `claude session` CLI. - -**Lösung:** Die Stellen entweder: -- Durch OpenCode Session-API Äquivalent ersetzen (wenn es eines gibt) -- Auskommentieren mit `// OpenCode: session management via session_registry custom tool` -- Entfernen wenn der Code-Pfad nicht mehr erreichbar ist - -**Wo im PR-Plan:** PR-02 (`algorithm.ts` ist in der MODIFY-Liste) - ---- - -### Kategorie 8: `projects/{uuid}.jsonl` Transcript-Referenzen (DOKU) - -**Typ:** Dokumentation referenziert Claude Code internen Transcript-Speicher -**Dateien:** MEMORYSYSTEM.md (~5 Stellen) -**Schwierigkeit:** ⚠️ Mittel — muss verstehen was stattdessen gilt - -**Problem:** Beschreibt wie Claude Code Sessions als JSONL speichert unter `~/.claude/projects/{uuid}.jsonl`. - -**OpenCode-Realität:** OpenCode speichert Sessions in SQLite: -- `~/.opencode/projects/{project-hash}/` (DB statt JSONL) -- Session Registry Plugin für Session-Tracking - -**Lösung:** JSONL-Referenzen durch OpenCode-Session-Speicher-Beschreibung ersetzen. -- Betrifft MEMORYSYSTEM.md Abschnitte über RAW/ Event-Logging und Session-Persistence -- ⏱️ **Geschätzter Aufwand: 30 Minuten** (Teil der Kategorie 4b Arbeit) - -**Wo im PR-Plan:** PR-12 (NEU) — zusammen mit MEMORYSYSTEM.md Rewrite - ---- - -## PR-12: Semantische Claude→OpenCode Bereinigung (NEU) - -### Warum ein eigener PR - -Die 11 bestehenden PRs decken nur den Diff main↔dev ab. Die semantisch schwersten Claude-Dateien sind bereits identisch auf beiden Branches. Sie brauchen einen eigenen PR der **direkt auf main** arbeitet. - -### Branch-Strategie - -```bash -git checkout -b release/v3.0-pr12-claude-semantic-cleanup main -# Dateien direkt bearbeiten (nicht von dev kopieren — die sind ja identisch) -# Committen + PR erstellen -``` - -### PR-12 Dateiliste - -| Datei | Kategorie(n) | Aufwand | Typ | -|-------|-------------|---------|-----| -| `.opencode/PAI/THEHOOKSYSTEM.md` | 4a | ⚡ 5min | DELETE (Claude Code Version) | -| `.opencode/skills/PAI/SYSTEM/THEHOOKSYSTEM.md` | 4a | ⚡ 5min | DELETE (obsolete Übergangsversion) | -| `.opencode/skills/PAI/SYSTEM/THEPLUGINSYSTEM.md` | 4a | ⚠️ 1-2h | UPDATE (27 Handler dokumentieren) | -| `.opencode/PAI/MEMORYSYSTEM.md` | 4b, 1, 8 | 🔴 1-2h | REWRITE | -| `.opencode/PAI/TOOLS.md` | 4c, 1, 3 | ⚠️ 1-2h | REWRITE | -| `.opencode/PAI/SKILLSYSTEM.md` | 4d, 1, 2 | ⚠️ 1h | PARTIAL REWRITE | -| `.opencode/PAI/ACTIONS.md` | 4e, 1 | ⚡ 30min | EDIT | -| `.opencode/PAI/README.md` | 4f, 1, 2 | ⚡ 15min | EDIT | -| `.opencode/PAI/CLI.md` | 3, 1 | ⚠️ 30min | EDIT | -| `.opencode/PAI/PRDFORMAT.md` | 1, 2 | ⚡ 15min | EDIT | -| `.opencode/PAI/Algorithm/v3.7.0.md` | 1, 2, 3 | ⚠️ 30min | EDIT | -| `.opencode/PAI/Tools/BuildCLAUDE.ts` | 5 | ⚠️ 1h | RENAME+EDIT (→ BuildAGENTS.ts) | -| `.opencode/PAI/Tools/SecretScan.ts` | 1 | ⚡ 5min | MECHANICAL | -| `.opencode/PAI/Tools/GetTranscript.ts` | 1 | ⚡ 5min | MECHANICAL | -| `.opencode/PAI/Tools/LoadSkillConfig.ts` | 1 | ⚡ 5min | MECHANICAL | -| `.opencode/PAI/Tools/ActivityParser.ts` | 1 | ⚡ 5min | MECHANICAL | -| `.opencode/plugins/lib/identity.ts` | 1 | ⚡ 5min | MECHANICAL | -| `.opencode/skills/Agents/Tools/LoadAgentContext.ts` | 6 | ⚡ 10min | RENAME VAR | - -**Gesamt: 18 Dateien (16 MODIFY/RENAME + 2 DELETE), geschätzt 8-12 Stunden Arbeit** -**Davon 2 DELETE + 1 UPDATE (THEHOOKSYSTEM×2 löschen, THEPLUGINSYSTEM updaten) + 2 schwere Rewrites (MEMORYSYSTEM, TOOLS) = 4-7 Stunden** - -### PR-12 Abhängigkeiten - -PR-12 kann **jederzeit** erstellt werden — er hängt nicht von PR-01 bis PR-11 ab: -- Die Dateien sind bereits auf main -- PR-12 arbeitet direkt auf main -- Kann parallel zu den anderen PRs laufen - -**Empfohlene Reihenfolge:** PR-12 zuerst oder parallel zu PR-01/PR-02. - -### PR-12 Aufteilung (optional) - -Wenn 16 Dateien + heavy Rewrites zu viel für einen CodeRabbit-Review sind: - -| Sub-PR | Dateien | Fokus | -|--------|---------|-------| -| PR-12a | 8 mechanische .ts Dateien + LoadAgentContext.ts | Triviale Pfad-Fixes + Variable rename | -| PR-12b | DELETE 2× THEHOOKSYSTEM.md + UPDATE THEPLUGINSYSTEM.md + MEMORYSYSTEM.md + TOOLS.md | 2 DELETEs + 1 UPDATE + 2 schwere Rewrites | -| PR-12c | SKILLSYSTEM.md + ACTIONS.md + README.md + CLI.md + PRDFORMAT.md + Algorithm/v3.7.0.md + BuildCLAUDE.ts | Mittlere Edits + BuildCLAUDE Rename | - ---- - -## Änderungen an bestehenden PRs - -### PR-01 (PAI-Install) — Claude-Scan hinzufügen - -PAI-Install Dateien die Claude-Referenzen haben können: - -| Datei | Erwartete Referenzen | Aktion | -|-------|---------------------|--------| -| `PAI-Install/engine/actions.ts` | `.claude` Verzeichnisse, `@anthropic-ai/claude-code` | Prüfen: sind das korrekte Installer-Referenzen (erkennt Claude-Code-Installation) oder falsche Pfade? | -| `PAI-Install/engine/detect.ts` | `detectTool("claude", ...)` | BEIBEHALTEN — Installer muss Claude-Code-Installationen erkennen können | -| `PAI-Install/engine/types.ts` | `claude: { installed, version, path }` | BEIBEHALTEN — Interface für Detection | -| `PAI-Install/engine/provider-models.ts` | `claude-haiku`, `claude-sonnet` | BEIBEHALTEN — Modellnamen | - -**Fazit PR-01:** Meiste Claude-Referenzen im Installer sind KORREKT (er muss Claude Code erkennen können). Nur `~/.claude/` Pfade die auf PAI-OpenCode Installationsziel zeigen → `~/.opencode/`. - -### PR-02 (Core + Plugins) — Claude-Scan ERWEITERT - -PR-02 enthält bereits die wichtigsten Code-Dateien. Semantische Arbeit in PR-02: - -| Datei | Kategorie | Aktion | -|-------|-----------|--------| -| `algorithm.ts` | 1, 2, 3, 7 | `~/.claude/`→`~/.opencode/`, `CLAUDE.md`→`AGENTS.md`, `claude -p`→Task-Tool, `claude session`→Session Registry | -| `IntegrityMaintenance.ts` | 1 | `~/.claude/`→`~/.opencode/` | -| `pai.ts` | 1 | `~/.claude/`→`~/.opencode/` (falls vorhanden) | -| `session-registry.ts` | — | Prüfen ob OpenCode-konform | -| Alle anderen .ts | 1 | `~/.claude/` Pfade scannen und fixen | - -### PR-03 bis PR-08 (Skill Reorgs) — Minimaler Claude-Scan - -Die Skill-Reorg PRs enthalten hauptsächlich RENAMEs (gleicher Inhalt, neuer Pfad). Claude-Referenzen in Skill SKILL.md Dateien: -- Prüfen ob `~/.claude/skills/` Pfade vorhanden → `~/.opencode/skills/` -- Prüfen ob `CLAUDE.md` referenziert wird → `AGENTS.md` -- Meist keine Treffer erwartet (Skills referenzieren selten den System-Pfad) - -### PR-09 (Neue Skills + Migration) — Kein Cleanup nötig - -- `OpenCodeSystem/SKILL.md` — bereits OpenCode-nativ geschrieben -- `migration-v2-to-v3.ts` — Migration-Tool, Claude-Referenzen sind dort KORREKT (erklären den alten Pfad) - -### PR-10 (Deletions) — Kein Cleanup nötig - -Gelöschte Dateien brauchen keine Claude-Bereinigung. - -### PR-11 (Root + Docs) — Claude-Scan hinzufügen - -| Datei | Erwartete Referenzen | Aktion | -|-------|---------------------|--------| -| `README.md` (Root) | Mögliche `~/.claude/` Quick-Start-Pfade | → `~/.opencode/` | -| `INSTALL.md` | Mögliche Claude-Code-Referenzen | → OpenCode | -| `AGENTS.md` | Claude Code Referenzen in der Beschreibung | → OpenCode wo es um die Platform geht | -| `CONTRIBUTING.md` | `~/.claude/skills/` Pfad-Beispiele | → `~/.opencode/skills/` | -| `CHANGELOG.md` | Historische Referenzen | BEIBEHALTEN — das ist Historie | -| Neue ADRs | Bereits OpenCode-nativ | Kein Cleanup nötig | -| `docs/MIGRATION.md` | Claude-Referenzen | BEIBEHALTEN — erklärt Migration | - ---- - -## Zusammenfassung: Claude-Cleanup pro PR - -| PR | Mechanisch (Kat 1+2) | Semi-Mechanisch (Kat 3) | Semantisch (Kat 4-8) | Aufwand | -|----|----------------------|------------------------|----------------------|---------| -| PR-01 | ~2 Dateien | — | — | ⚡ 10min | -| PR-02 | ~5 Dateien | 1 Datei (algorithm.ts) | 1 Datei (algorithm.ts: session refs) | ⚠️ 1h | -| PR-03 | Scan ~141 Dateien | — | — | ⚡ 15min | -| PR-04 | Scan ~130 Dateien | — | — | ⚡ 10min | -| PR-05 | Scan ~130 Dateien | — | — | ⚡ 10min | -| PR-06 | Scan ~58 Dateien | — | — | ⚡ 5min | -| PR-07 | Scan ~130 Dateien | — | — | ⚡ 10min | -| PR-08 | Scan ~84 Dateien | — | — | ⚡ 10min | -| PR-09 | — | — | — | — | -| PR-10 | — | — | — | — | -| PR-11 | ~3 Dateien | — | 1 Datei (AGENTS.md) | ⚡ 20min | -| **PR-12** | **6 Dateien** | **2 Dateien** | **10 Dateien (3 HEAVY)** | **🔴 8-12h** | -| **GESAMT** | ~30 Dateien | 3 Dateien | 12 Dateien | **~10-14h** | - ---- - -## Beibehalten-Liste (NICHT ändern) - -| Typ | Dateien | Grund | -|-----|---------|-------| -| **Modellnamen** | `claude-opus`, `claude-sonnet`, `claude-haiku` in ~40 Dateien | Korrekte AI-Modell-Identifiers | -| **ClaudeResearcher** | Agent-Name in ~10 Dateien | Absichtlicher Agent-Name | -| **Migration-Docs** | `PAI-TO-OPENCODE-MAPPING.md`, `MIGRATION.md`, `UPSTREAM-SYNC-PROCESS.md` | Erklären den Unterschied — das ist deren Job | -| **pai-to-opencode-converter.ts** | Konvertierungs-Tool | Muss alte Pfade kennen | -| **skill-migrate.ts** + Manifest | Migration-Tools | Müssen alte Pfade kennen | -| **opencode.json** | Nur Modellnamen | Korrekt | -| **settings.json** | Nur Modellnamen + DA-Identity | Korrekt | -| **CHANGELOG.md** | Historische Einträge | Historische Korrektheit | -| **PAI-Install/engine/detect.ts** | `detectTool("claude", ...)` | Installer muss Claude Code erkennen | -| **PAI-Install/engine/types.ts** | `claude: { installed, ... }` | Interface für Detection | - ---- - -## Aktualisierte Definition of Done (v3.0 + Cleanup) - -Die bestehende DoD aus V3.0-COMPLETION-PLAN.md wird erweitert: - -```markdown -### Claude→OpenCode Bereinigung vollständig: -- [ ] Kein `~/.claude/` Pfad in .ts/.md Dateien (außer Migration-Docs + PAI-Install Detection) -- [ ] Kein `CLAUDE.md` als Datei-Referenz (außer Migration-Docs) -- [ ] Kein `claude -p` in ausführbarem Code -- [ ] Beide THEHOOKSYSTEM.md gelöscht (`.opencode/PAI/` + `.opencode/skills/PAI/SYSTEM/`) -- [ ] THEPLUGINSYSTEM.md aktualisiert (27 Handler, Stand 2026-03) -- [ ] MEMORYSYSTEM.md referenziert OpenCode Session-DB (nicht projects/{uuid}.jsonl) -- [ ] TOOLS.md listet OpenCode-native Tools -- [ ] SKILLSYSTEM.md referenziert AGENTS.md (nicht CLAUDE.md) -- [ ] BuildCLAUDE.ts umbenannt zu BuildAGENTS.ts (oder gelöscht) -- [ ] claudeHome Variable umbenannt zu opencodeHome -- [ ] Kein "Claude Code" als Plattformname in Docs (außer historische Vergleiche) -``` - ---- - -## Zeitplan-Empfehlung - -```text -Woche 1: PR-01 + PR-02 + PR-12a (mechanische .ts Fixes) - PR-03 + PR-04 + PR-05 (parallel — Skill Reorgs sind reine Renames) - -Woche 2: PR-06 + PR-07 + PR-08 - PR-12b (DELETE 2× THEHOOKSYSTEM + UPDATE THEPLUGINSYSTEM + MEMORYSYSTEM + TOOLS) - PR-09 - -Woche 3: PR-10 (ERST nach PR-03 bis PR-08 gemerged) - PR-12c (verbleibende Edits + BuildCLAUDE Rename) - PR-11 (Root + Docs als Abschluss) - -Woche 4: Verifikation, v3.0.0 Tag -``` - -
-Gantt-Diagramm (klicken zum Erweitern) - -```mermaid -gantt - title v3.0 PR-Zeitplan (12 PRs) - dateFormat YYYY-MM-DD - axisFormat Woche %W - - section Woche 1 - PR-01 PAI-Install :w1a, 2026-03-17, 2d - PR-02 Core + Plugins :w1b, 2026-03-17, 2d - PR-12a Mechanische Fixes :w1c, 2026-03-17, 1d - PR-03 Thinking Skills :w1d, 2026-03-18, 2d - PR-04 Security Skills :w1e, 2026-03-18, 2d - PR-05 Fabric Teil 1 :w1f, 2026-03-18, 2d - - section Woche 2 - PR-06 Fabric Teil 2 :w2a, 2026-03-24, 2d - PR-07 Fabric Teil 3 :w2b, 2026-03-24, 2d - PR-08 Utilities + Scraping:w2c, 2026-03-25, 2d - PR-12b Schwere Rewrites :w2d, 2026-03-24, 3d - PR-09 Neue Skills :w2e, 2026-03-26, 2d - - section Woche 3 - PR-10 Deletions :crit, w3a, after w2a, 2d - PR-12c Mittlere Edits :w3b, 2026-03-31, 2d - PR-11 Root + Docs :w3c, 2026-04-01, 2d - - section Woche 4 - Verifikation :w4a, 2026-04-07, 2d - v3.0.0 Tag :milestone, w4b, 2026-04-09, 0d -``` - -
- ---- - -*Plan erstellt: 2026-03-13* -*Repository: Steffen025/pai-opencode* -*Basis: Vollständiger Claude-Referenz-Scan auf dev-Branch (170+ Dateien, 8 Kategorien)* diff --git a/docs/epic/EPIC-v3.0-Synthesis-Architecture.md b/docs/epic/EPIC-v3.0-Synthesis-Architecture.md deleted file mode 100644 index e446df6c..00000000 --- a/docs/epic/EPIC-v3.0-Synthesis-Architecture.md +++ /dev/null @@ -1,1116 +0,0 @@ -# Epic: PAI-OpenCode v3.0 — The Community Port - -**Status:** Planning -**Branch:** `v3.0-rearchitecture` -**Target:** PAI-OpenCode v3.0.0 Release -**Philosophy:** Community contribution — PAI's core on OpenCode, minimal and focused -**Scope Boundary:** See `docs/SCOPE-BOUNDARY.md` — Voice/OMI/Ambient AI features belong to **Open Arc** (separate project) - ---- - -## 🎯 Vision Statement - -> *"Take the PAI system — the Algorithm, the Skills, the philosophy — and port it cleanly to OpenCode, leveraging OpenCode's native capabilities."* - -**PAI-OpenCode v3.0** is a **community contribution**, not a commercial product: -- ✅ Preserves PAI's core (Algorithm, Skills, Euphoric Surprise) -- ✅ Leverages OpenCode-native features (Lazy Loading, MCP, Events) -- ✅ Stays focused: "as little as necessary" -- ❌ Does NOT include: Voice-to-Voice, OMI Ambient AI, Product UX (see **Open Arc**) - -**Two Projects, Clear Separation:** -| Project | Purpose | Scope | -|---------|---------|-------| -| **PAI-OpenCode** | Community port | Core PAI on OpenCode | -| **Open Arc** (jeremaiah.ai) | Commercial product | Voice, Ambient AI, Brand UX | - ---- - -## 📊 Research Summary: What We Learned - -### 1. Agent Swarms — VERDICT: Not for 3.0 - -| Platform | Status | Details | -|----------|--------|---------| -| **Claude Code** | ✅ Released Feb 2026 | `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`, TeammateTool | -| **OpenCode** | ❌ Not implemented | GitHub issues #12661 (59 👍), #12711 (Design Proposal), PR #7756 (open) | - -**Decision:** Agent Swarms is a **Claude-Code-only feature**. We will NOT chase this for v3.0. OpenCode's `Task` tool with sequential subagents is sufficient. - -**Future:** Monitor PR #7756 for "subagent-to-subagent delegation" — if merged, we can revisit. - ---- - -### Agent Model Configuration (Vanilla OpenCode) - -**Status:** ✅ Running on vanilla OpenCode -**Location:** `/Users/steffen/.opencode/opencode.json` -**OpenCode:** vanilla opencode.ai, installed via the official installer - -> PAI-OpenCode previously maintained a custom OpenCode fork to support runtime model tier selection (`model_tier: "quick" | "standard" | "advanced"`). This feature has been removed in v3.0 for two reasons: -> 1. **Maintenance cost:** The fork drifted 980 commits behind upstream, blocking security and feature updates -> 2. **Unclear value:** The token-saving benefit was smaller than the maintenance burden, and the underlying upstream PR was never merged -> -> PAI-OpenCode now uses **vanilla OpenCode**. Each agent has exactly one configured model in `opencode.json`. For cost optimization, match the task to an appropriate agent (use `explore` or `Intern` for lightweight work; use `Architect` or `Algorithm` for heavy work). - -**What we have TODAY:** -- ✅ 16 agents, each with a single configured model in opencode.json -- ✅ Agent-based routing (match task complexity to the right agent) -- ✅ Standard vanilla install — no custom build required - -**Agent Model Matrix (illustrative example — actual models live in `opencode.json`):** - -```text -┌─────────────────┬──────────────────────────────────────┐ -│ Agent │ Example Configured Model │ -├─────────────────┼──────────────────────────────────────┤ -│ Engineer │ Kimi K2.5 │ -│ Architect │ Claude Sonnet 4.6 │ -│ Pentester │ Kimi K2.5 │ -│ Intern │ MiniMax M2.1 │ -│ QATester │ Kimi K2.5 │ -│ Designer │ Gemini 3 Flash │ -│ Artist │ Gemini 3 Flash │ -│ Writer │ Gemini 3 Flash │ -│ Perplexity │ Sonar Pro │ -│ Grok │ Grok-4-1-Fast │ -│ ... │ ... │ -└─────────────────┴──────────────────────────────────────┘ -``` - -*Source of truth:* `opencode.json`. The example column above reflects one profile; other profiles (zen, anthropic, openai, local) may assign different models. - -**Usage in PAI Algorithm:** -```typescript -// For complex tasks, use a heavy agent -Task({ - subagent_type: "Architect", - prompt: "Design authentication system" -}); - -// For simple tasks, use a lightweight agent -Task({ - subagent_type: "Intern", - prompt: "Rename variable across files" -}); -``` - -**Implication for v3.0:** -- PAI-OpenCode 3.0 = vanilla OpenCode + PAI Core -- Users install via standard opencode.ai installer -- Cost optimization via appropriate agent selection - ---- - -### 2. OpenCode's Native Capabilities — Underutilized Gold - -Based on [opencode.ai/docs](https://opencode.ai/docs/) and GitHub research: - -| Feature | Current Usage | Potential | Implementation | -|---------|--------------|-----------|----------------| -| **Agent-Based Routing** | ✅ **IMPLEMENTED** via vanilla opencode.json | 🚀 **READY** | Each agent has one model; match agent to task complexity (replaced the removed Dynamic Model Tiers feature — April 2026 vanilla migration) | -| **Lazy Loading** | ⚠️ Native in OpenCode, not used in PAI | 🚀 HIGH | Native skill discovery + on-demand loading | -| **Native Skill System** | ⚠️ Partial | ✅ Native since v1.0.190 | `skill` tool with pattern-based permissions | -| **MCP Server Ecosystem** | ✅ Used | 🚀 HIGH | Dynamic skill discovery via MCP | -| **Plugin Events** | ⚠️ Basic | 🚀 HIGH | Replace hooks with native OpenCode events | -| **Context Compaction** | ✅ Automatic | ✅ Already works | Auto-compaction when context full | -| **Agent System** | ✅ Used | ✅ Flexible | Primary + Subagent architecture | - -**Key Insight:** OpenCode has evolved BEYOND what PAI was designed for. We should ride this wave, not fight it. - ---- - -### 3. DeepWiki Research Findings (March 3, 2026) - -**Repository analyzed:** `anomalyco/opencode` via DeepWiki API (fast mode) -**Questions asked:** 6 critical architecture questions -**Success rate:** 6/6 (100%) -**Duration:** 7-11 seconds per query - -#### Key Findings: - -| Topic | Finding | Impact on PAI-OpenCode 3.0 | -|-------|---------|---------------------------| -| **Lazy Loading** | ✅ Native via `skill` tool. Skills discovered in `.opencode/skills/`, loaded on-demand | Remove static 233KB context, use native lazy loading | -| **Agent Routing** | ✅ Each agent has one model in `opencode.json` | Use agent-based routing — match agent to task complexity | -| **Agent System** | ✅ Primary (Build/Plan) + Subagents (General/Explore). Tab switching, @ mentioning | Align our agent definitions with OpenCode's system | -| **Plugin Events** | ✅ 20+ events (session, tool, file, etc.). Event-driven architecture | Migrate PAI Hooks to native OpenCode events | -| **MCP Integration** | ✅ Centralized in `packages/opencode/src/mcp/`. Config in `opencode.json` | Skills as MCP servers is viable | -| **Context Management** | ✅ Auto-compaction at token limit. SQLite storage. `experimental.session.compacting` hook | Don't build our own compaction | - -#### Actionable Insights: - -1. **Lazy Loading:** OpenCode's native skill system already does what PAI tries to do with static context. We should: - - Reduce bootstrap context to ~20KB (Algorithm + Identity only) - - Use native `skill` tool for on-demand loading - - Remove our custom context loader - -2. **Event System:** PAI Hooks can be replaced with OpenCode's native plugin events: - - `session.created` → Load minimal context - - `tool.execute.before` → Security validation - - `session.compacted` → Extract learnings - - `message.updated` → Work tracking - -3. **MCP-First Architecture:** Instead of static skills, use MCP servers: - ```typescript - // opencode.json - { - "mcp": { - "research-skill": { - "type": "local", - "command": "bun ~/.opencode/mcp/research/server.ts" - } - } - } - ``` - -4. **Context Compaction:** Don't fight OpenCode's auto-compaction. Use it: - - Configure `compaction.reserved` tokens in `opencode.json` - - Use `experimental.session.compacting` hook if needed - - Trust the built-in system - ---- - -### 4. Fabric Video Analysis: Daniel Miessler on PAI Philosophy & v4.0 - -**Method:** Fabric `extract_wisdom` + `youtube_summary` patterns applied to: -- Video 1: "The Great Transition" (6pP8x8sXoaM) — PAI v4.0 Release -- Video 2: "How and Why I Built PAI" (vvXC7sqso4w) — Interview with Nathan Labenz -- Source Material: PAI v4.0.2/v4.0.3 Release Notes, Blog Posts, GitHub - -#### Core Philosophy (Extracted) - -> **"PAI is designed to magnify human capabilities. It is a general problem-solving system that uses the PAI Algorithm."** - -> **"Nothing escapes the Algorithm. The only variable is depth."** - -> **"The trick is to capture what the user wishes they would have told us if they had all the intelligence, knowledge, and time in the world."** - -> **"YOUR GOAL IS 9-10 implicit or explicit ratings for every response. EUPHORIC SURPRISE."** - -#### Key Insights from Video Analysis - -| Insight | Source | Implication for PAI-OpenCode 3.0 | -|---------|--------|----------------------------------| -| **PAI is Infrastructure, not a Tool** | Interview | Position as "Life OS" not "AI Assistant" | -| **Algorithm is THE Core** | Release v4.0 | 7 phases + ISC = Non-negotiable foundation | -| **Human 3.0 Vision** | Interview | Bridge to AGI, augment not replace | -| **Verification-First** | Release v4.0 | ISC as Verification Criteria, not planning | -| **Loop Mode = Autonomous** | Release v3.0 | Self-improving system via parallel workers | -| **Constraint Fidelity** | Algorithm v3.7.0 | Mechanical extraction prevents abstraction | -| **Build Drift Prevention** | v3.7.0 | Anti-criteria checking during implementation | -| **Skill Categories** | v4.0 | 11 categories solve "flat explosion" | -| **TELOS = Context** | Interview | Personal identity makes AI meaningful | -| **Fabric = Community** | Release | 240+ patterns are shared knowledge base | - -#### PAI v4.0 Feature Matrix (Fabric Analysis) - -| Feature | v4.0 Status | PAI-OpenCode 3.0 Status | Action | -|---------|-------------|-------------------------|--------| -| **Algorithm v3.7.0** | ✅ Released | ✅ Port | Core DNA | -| **Hierarchical Skills (11 cat)** | ✅ Released | ✅ Adopt | Better organization | -| **Installer (CLI-only)** | ✅ Released | ✅ Create | OpenCode-native | -| **Loop Mode** | ✅ v3.0+ | ✅ Implement | Parallel workers | -| **Constraint Extraction** | ✅ v3.7.0 | ✅ Integrate | Quality gate | -| **Build Drift Prevention** | ✅ v3.7.0 | ✅ Implement | Anti-criteria | -| **Verification Rehearsal** | ✅ v3.7.0 | ✅ Add | Pre-flight test | -| **MCP Support** | ✅ Released | ✅ Use native | External tools | -| **Voice Notifications** | ✅ Released | ✅ Enhance | Local TTS ready | -| **TELOS Integration** | ✅ Core | ✅ Keep | Identity system | -| **40 Skills** | ✅ Released | ✅ Port all | Full ecosystem | -| **240+ Fabric Patterns** | ✅ Community | ✅ Keep | Knowledge base | -| **StatusLine** | ✅ Released | ❌ DROP | TUI limitation | -| **Agent Swarms** | ❌ Not in PAI | ❌ N/A | Claude-only | -| **Euphoric Surprise** | ✅ Philosophy | ✅ Preserve | 9-10 ratings | - -#### Daniel's Workflow Habits (Extracted) - -1. **ISC-First** — Define success before work begins -2. **Algorithm for Everything** — Every task runs through 7 phases -3. **Continuous Verification** — Test against criteria during build -4. **Memory Capture** — Automatic learning extraction post-session -5. **Skill Modularization** — Reusable patterns in SKILL.md -6. **Security Pre-Flight** — Dangerous pattern detection -7. **Voice Ambient** — TTS for awareness during deep work -8. **Three-Layer Sovereignty** — Self-hosted > API > SaaS -9. **Documentation as Code** — PRDs, ADRs versioned -10. **Event-Driven** — Hooks over manual processes - -#### ONE-SENTENCE TAKEAWAY (Fabric) - -> **PAI v4.0 is the maturation of a Personal AI Infrastructure that systematically magnifies human capabilities through a 7-phase Algorithm with verifiable Ideal State Criteria, positioning itself as essential infrastructure for the Human 3.0 transition to AGI.** - -#### REFERENCES (from Content) - -- **The Algorithm** — 7-Phase Problem Solving Framework -- **Fabric** — 240+ Prompt Patterns -- **TELOS** — Life OS for Personal Context -- **Human 3.0** — AI-Augmented Humanity Vision -- **Unsupervised Learning** — Daniel's Newsletter -- **The Cognitive Revolution** — Nathan Labenz Interview -- **GitHub** — github.com/danielmiessler/Personal_AI_Infrastructure -- **Cognitive Revolution Podcast** — Interview Source -- **Bun** — JavaScript Runtime -- **Electron** — OpenCode desktop app (not an installer requirement) - ---- - -| PAI Feature | OpenCode Compatible | Status for 3.0 | -|-------------|---------------------|----------------| -| **Algorithm (7 Phases, ISC)** | ✅ Yes | CORE — Must port v3.7.0 | -| **Skills (SKILL.md, Tools, Workflows)** | ✅ Yes | CORE — Hierarchical structure | -| **Memory (WORK, LEARNING, STATE)** | ✅ Yes | CORE — Integrate with OMI | -| **Agents (Personalities)** | ✅ Yes | ADAPT — Use OpenCode's agent system | -| **Hooks** | ⚠️ Adapted | DONE — Already plugins | -| **Fabric Patterns** | ✅ Yes | KEEP — 240+ patterns | -| **Voice Notifications** | ✅ Yes | KEEP — Enhanced with local TTS | -| **StatusLine** | ❌ No | DROP — TUI limitation | -| **Agent Swarms** | ❌ No | DROP — Not available | -| **Euphoric Surprise Goal** | ✅ Yes | CORE — Philosophy preserved | - ---- - -## 🏗️ The Synthesis Architecture - -### Core Principles - -1. **Algorithm-First** — The 7-phase ISC system is PAI's DNA. Preserve at all costs. -2. **OpenCode-Native** — Use what's there: lazy loading, events, MCP, agent-based routing. -3. **MCP-Extensible** — Skills as MCP servers, dynamic discovery. -4. **Minimal Context** — Only load what's needed (Algorithm + TELOS = ~20KB, not 233KB). -5. **Community Focus** — "As little as necessary" — resist scope creep into product territory. -6. **Clear Boundaries** — Voice, Ambient AI, OMI = Open Arc (separate project). - ---- - -### The New Structure - -``` -.opencode/ -├── PAI/ # Core PAI system (modular, not monolithic) -│ ├── Algorithm/ -│ │ └── v3.7.0.md # Algorithm as living document -│ ├── Core/ # Minimal context (~20KB) -│ │ ├── Algorithm.md # 7 phases, ISC system -│ │ ├── Identity.md # TELOS + Identity -│ │ └── Routing.md # Agent routing guidance -│ └── SYSTEM/ # System documentation (lazy loaded) -│ ├── Architecture/ -│ ├── Memory/ -│ └── Agents/ -│ -├── skills/ # Hierarchical (from PAI v4.0.3) -│ ├── Core/ # Algorithm-supporting skills -│ ├── Thinking/ # Cognitive skills -│ ├── Research/ # Information gathering -│ ├── Security/ # Infosec skills -│ └── ... # Other categories -│ -├── agents/ # PAI 4.0.3 Agent personalities (Algorithm, Architect, Engineer, Pentester, etc.) -│ ├── Algorithm.md # PAI Algorithm specialist -│ ├── Architect.md # System architecture -│ ├── Engineer.md # Principal engineering -│ ├── Pentester.md # Penetration testing -│ ├── PerplexityResearcher.md # Perplexity web research -│ ├── QATester.md # Quality assurance -│ └── ... # 14 total agents from PAI 4.0.3 -│ -├── plugins/ -│ └── pai-core.ts # Unified plugin (simplified) -│ -└── mcp/ # MCP server configs - ├── skills/ # Skills as MCP servers - └── discovery/ # Dynamic skill discovery -``` - ---- - -## 🔥 Key Innovations for v3.0 - -### 1. Agent-Based Routing ✅ VANILLA OPENCODE - -**Status:** Running on vanilla OpenCode — no custom binary required -**Location:** `~/.opencode/opencode.json` (agent configuration) -**OpenCode:** Standard vanilla install via opencode.ai - -**How it works:** -```json -{ - "agent": { - "Engineer": { - "model": "opencode/kimi-k2.5" - }, - "Architect": { - "model": "opencode/claude-sonnet-4-6" - } - } -} -``` - -**Algorithm Integration:** -```typescript -// For complex tasks, use a heavy agent -Task({ - subagent_type: "Architect", - prompt: "Design the authentication system" -}); - -// For lightweight work, use a cheap agent -Task({ - subagent_type: "Intern", - prompt: "Rename variable across files" -}); - -// Default Engineer agent uses its configured model -Task({ - subagent_type: "Engineer", - prompt: "..." -}); -``` - -**Example Agent Models (illustrative — actual values live in `opencode.json`):** - -| Agent | Example Configured Model | Use Case | -|-------|-----------------|----------| -| **Engineer** | Kimi K2.5 | Standard implementation work | -| **Architect** | Claude Sonnet 4.6 | Complex design decisions | -| **Pentester** | Kimi K2.5 | Security testing | -| **Intern** | MiniMax M2.1 | Lightweight / cheap tasks | -| **Designer** | Gemini 3 Flash | UI/UX work | - -**Benefit:** Cost optimization via appropriate agent selection. -**Requirement:** PAI-OpenCode v3.0 uses standard vanilla OpenCode install. - ---- - -### 2. Lazy Context Loading - -**Current:** 233KB static context at session start. -**Target:** ~20KB initial, rest loaded on-demand. - -```typescript -// Minimal bootstrap -const MINIMAL_CONTEXT = [ - "PAI/Core/Algorithm.md", // ~5KB - "PAI/Core/Identity.md", // ~10KB - "PAI/Core/Routing.md" // ~5KB -]; - -// Everything else via skill_find -// Skills loaded: on trigger, via MCP, or explicit request -``` - -**Implementation:** Use OpenCode's native `skill` tool + MCP discovery. - ---- - -### 3. MCP-First Skill System - -**Vision:** Skills as MCP servers, not static files. - -```typescript -// MCP server as skill -{ - "mcp": { - "research-skill": { - "type": "local", - "command": "bun ~/.opencode/mcp/research/server.ts", - "enabled": true - } - } -} - -// Discovery -const availableSkills = await mcp.discover(); -// Use -await mcp.call("research-skill", "deepResearch", { topic: "AI" }); -``` - -**Benefit:** Dynamic skill loading, version management, external contributions. - ---- - -### 4. Event-Driven Architecture - -**Replace:** PAI Hooks → OpenCode Plugin Events - -```typescript -// Instead of: hooks/LoadContext.hook.ts (Claude-style) -// Use: plugins/pai-core.ts (OpenCode-native) - -export default { - name: "pai-core", - - onSessionStart: async (context) => { - // Inject minimal context - context.inject(MINIMAL_CONTEXT); - }, - - onToolCall: async (tool, args) => { - // Security validation - if (isDangerous(tool, args)) { - return { blocked: true, reason: "..." }; - } - }, - - onSessionEnd: async (context) => { - // Extract learnings - await extractLearnings(context); - } -}; -``` - ---- - -### 5. Voice-to-Voice Foundation - -**Not for 3.0, but architecture-ready:** - -```typescript -// Future: WebSocket streaming -interface VoiceConfig { - mode: "text-to-speech" | "voice-to-voice"; - provider: "local-macos" | "google-tts" | "elevenlabs" | "local-websocket"; - localModel?: "speecht5" | "coqui" | "mimic3"; // For M4 MacBooks -} - -// Current: Text-to-Speech with Google TTS (cheap) -// Future: Local TTS on M4 (free), Voice-to-Voice with WebSocket -``` - ---- - -## 📋 Work Packages — Aktueller Stand (Audit 2026-03-06) - -> [!note] -> **Status nach vollständigem 3-Wege-Audit** (Epic vs. PAI v4.0.3 vs. Implementierung PRs `#32`–#40) -> Vollständige Analyse: `docs/epic/GAP-ANALYSIS-v3.0.md` | Aufgabenliste: `docs/epic/TODO-v3.0.md` - -| WP | Name | Status | PRs | Vollständigkeit | -|----|------|--------|-----|----------------| -| **WP1** | Algorithm v3.7.0 + Workdir | ✅ **KOMPLETT** | #32, #33, #35 | 100% | -| **WP2** | Context Modernization | ✅ **KOMPLETT** | #34 | 100% | -| **WP3** | Event-Driven Plugin + Skills | ✅ **KOMPLETT** | #37 | 100% (Struktur ✅, Basis-Plugin ✅) | -| **WP4** | Integration & Validation | ✅ **KOMPLETT** | #38, #39, #40 | 100% | -| **WP-A** | WP3-Completion: Hooks + Plugin | 🔄 **IN REVIEW** | #42 | ~90% (PR open) | -| **WP-B** | Security Hardening (WP3.5) | 🔄 **OFFEN** | — | 0% | -| **WP-C** | Core PAI System + Skill-Fixes | 🔄 **OFFEN** | — | 0% | -| **WP-D** | Installer & Migration | 🔄 **OFFEN** | — | 0% | - ---- - -### WP1: Algorithm v3.7.0 Core + Agent Routing -**Status:** ✅ KOMPLETT -**Effort:** 8-12 hours -**Dependencies:** None -**Branch:** `v3.0-wp1-algorithm` - -**Goal:** Port Algorithm v3.7.0 and align with vanilla OpenCode agent-based routing - -**Tasks:** -1. Port `Algorithm/v3.7.0.md` from PAI v4.0.3 → `.opencode/PAI/Algorithm/v3.7.0.md` -2. Create minimal bootstrap context (Algorithm + TELOS only = ~20KB) -3. **Align Algorithm agent selection guidance** - - Document agent-based routing: use appropriate agent for task complexity - - Heavy agents (Architect, Algorithm) for complex work; lightweight agents (Intern, explore) for simple work - - Reference `~/.opencode/opencode.json` for model configuration -4. Port core PAI system files (modular structure) - -**Key Insight:** Vanilla OpenCode with per-agent model config is the clean, maintainable approach! - -**Output:** -- `.opencode/PAI/Algorithm/v3.7.0.md` -- `.opencode/PAI/Core/` (minimal bootstrap) -- Algorithm with agent-based routing guidance - -**Verification:** -- Algorithm runs 7 phases -- Agent-based routing documented (16 agents configured) -- Bootstrap context <25KB - ---- - -### WP2: Context System Modernization (Lazy Loading) -**Status:** ✅ KOMPLETT -**Effort:** 6-8 hours -**Dependencies:** WP1 (Algorithm provides structure) -**Branch:** `v3.0-wp2-context` → merged via PR #34 - -**Goal:** Replace 233KB static context with OpenCode-native lazy loading - -**Tasks:** -1. **REMOVE static context loading** - - Current: 233KB loaded at session start - - Target: ~20KB minimal bootstrap -2. **USE OpenCode-native `skill` tool for lazy loading** - - Don't build custom loader! - - Use OpenCode's discovery: `.opencode/skills//SKILL.md` - - Use native `skill_find` and `skill_use` -3. Define `MINIMAL_BOOTSTRAP`: - - Algorithm (5KB) - - TELOS/Identity (10KB) - - Routing/Config (5KB) -4. Remove `context-loader.ts` and related custom code - -**Key Insight:** OpenCode already has lazy loading - we just need to stop fighting it! - -**Output:** -- <25KB session startup -- Native skill tool usage -- Deleted: custom context loader - -**Verification:** -- Session starts in <3 seconds -- Skills load on-demand via `skill` tool -- No static context bloat - ---- - -### WP3: Event-Driven Plugin Architecture -**Status:** ✅ KOMPLETT (Basis) — PR #37 merged. WP-A (PR #42) ergänzt fehlende Hooks. -**Effort:** 5-7 hours (original) | WP-A: 1-2 Tage zusätzlich -**Dependencies:** WP2 (context system ready) -**Branch:** `v3.0-wp3-plugins` → PR #37 merged | `feature/wp-a-plugin-hooks` → PR #42 in review - -**Goal:** Migrate PAI Hooks → OpenCode native Plugin Events ✅ (via WP-A) - -**Tasks:** -1. ✅ **Consolidated into 1 unified plugin** (`pai-unified.ts`) -2. **Port remaining PAI 4.0.3 Hooks to OpenCode events (WP-A — PR #42):** - - ✅ Already ported (WP3): `context-loader.ts`, `security-validator.ts`, `voice-notification.ts`, `integrity-check.ts`, `rating-capture.ts`, `update-counts.ts` - - ✅ **Ported in WP-A (PR #42):** - - `prd-sync.ts` → Sync PRD frontmatter to prd-registry.json - - `relationship-memory.ts` → Track user relationships - - `session-cleanup.ts` → Cleanup on session end - - `last-response-cache.ts` → Cache last response for continuity - - `question-tracking.ts` → Track AskUserQuestion Q&A pairs - - ✅ **New Bus Events activated (PR #42):** - - `session.compacted` → Extract learnings BEFORE context loss (CRITICAL) - - `session.error`, `permission.asked`, `command.executed` - - `installation.update.available`, `session.updated` - - ✅ **New shell.env hook (PR #42):** PAI context per bash call - - ❌ **Deferred to later PRs:** - - `LearningPatternSynthesis.hook.ts` → WP-C - - `UpdateTabTitle.hook.ts` → WP-C - - `WorkCompletionLearning.hook.ts` → WP-C - - `ResponseTabReset.hook.ts` → WP-C - - `SetQuestionTab.hook.ts` → WP-C -3. **USE OpenCode native events:** - - `session.created` → Load minimal bootstrap context - - `tool.execute.before` → Security validation + **Prompt Injection detection** - - `session.compacted` → Extract learnings to MEMORY - - `message.updated` → Work tracking / ratings -4. **ADD Prompt Injection Protection:** - - Detect common injection patterns (ignore previous instructions, system prompt leaks, etc.) - - Sanitize user input before processing - - Use `tool.execute.before` to validate prompts - - Log suspicious patterns for review -5. **REMOVE hook emulation layer** - - Delete hook compatibility code - - Use native TypeScript events -6. Update `plugins/pai-core.ts` with event handlers - -**Key Insight:** Don't emulate hooks - use native OpenCode events! Add Prompt Injection defense as core security feature. - -**Output:** -- `plugins/pai-core.ts` (unified, ~300 lines) -- Deleted: 5 separate plugins, hook emulation - -**Verification:** -- Security validation runs on tool calls -- Context loads at session start -- Learnings extracted on compaction - ---- - -### WP3.5: Security Hardening (Prompt Injection Protection) -**Status:** 🔄 OFFEN — umbenannt in WP-B -**Effort:** 4-6 hours -**Dependencies:** WP3 (plugin system ready) -**Branch:** `v3.0-wp3-security` - -**Goal:** Harden PAI-OpenCode against Prompt Injection and adversarial attacks - -**Context:** -PAI-OpenCode processes user input and executes system commands. Without protection, malicious prompts could: -- Extract system prompts (prompt leaking) -- Override instructions (ignore previous commands) -- Trigger dangerous tool executions -- Manipulate context and memory - -**Tasks:** -1. **Implement Prompt Injection Detection:** - ```typescript - const INJECTION_PATTERNS = [ - /ignore previous (instructions|commands)/i, - /ignore all (prior|previous|above) (instructions|commands|context)/i, - /system prompt|system instructions/i, - /you are (now|from now on) \w+/i, - /new (role|personality|identity):/i, - /(pretend|act as if|imagine) you (are|were)/i, - /DAN|jailbreak|\"mode\"/i, - /<\|system|assistant|user\|>/i, // Role markers - ]; - - function detectPromptInjection(input: string): { - detected: boolean; - confidence: number; - pattern: string; - } - ``` - -2. **Add Input Sanitization Layer:** - - Sanitize before LLM processing - - Escape special characters - - Remove/replace dangerous sequences - - Maintain audit log of sanitization - -3. **Implement Output Guardrails:** - - Detect system prompt leakage in responses - - Block responses containing sensitive patterns - - Alert on suspicious output patterns - -4. **Use PromptInjection Skill for Testing:** - - Regular penetration testing with PromptInjection skill - - Test against known jailbreak techniques - - Validate defenses with red-team exercises - -5. **Security Event Logging:** - - Log all injection attempts - - Track sanitization actions - - Generate security reports - -**Integration:** -- Add to `plugins/pai-core.ts` as `promptInjectionGuard(event)` -- Hook into `tool.execute.before` and `message.received` events -- Configure sensitivity levels in settings - -**Key Insight:** Defense in depth - detect + sanitize + log + test regularly! - -**Output:** -- Prompt injection detection module -- Input sanitization layer -- Security logging system -- Regular testing protocol - -**Verification:** -- PromptInjection skill tests pass (blocked) -- Known jailbreaks fail -- No false positives on legitimate input -- Audit logs complete - ---- - -### WP4: Hierarchical Skill Structure (PAI v4.0.3) -**Status:** ⚠️ ~70% KOMPLETT — Basis funktional, Skill-Lücken (Telos, USMetrics, Utilities, Research) offen → WP-C -**Effort:** 8-10 hours -**Dependencies:** None (can run parallel to WP1-3) -**Branch:** `v3.0-wp4-skills` → PRs #38, #39, #40 merged - -**Goal:** Migrate 39 skills to PAI v4.0.3's 11-category structure - -**Tasks:** -1. Create 11 category directories: - - Agents/, ContentAnalysis/, Investigation/, Media/, Research/, Scraping/, Security/, Telos/, Thinking/, USMetrics/, Utilities/ -2. **Migrate existing 39 skills** (reorganize, not rebuild) - - Move files to new structure - - Adapt paths: `.claude/` → `.opencode/` - - Update internal references -3. **Don't change skill logic** - only structure -4. Port any new v4.0.3 skills (if applicable) - -**Key Insight:** Reorganize, don't reinvent. Skills work, structure improves. - -**Output:** -- 11 category directories -- 39 skills reorganized -- No path issues (`.claude/` fully replaced) - -**Verification:** -- All skills load without errors -- Biome check passes -- Skill discovery works - ---- - -### WP5: Core PAI System + Skill-Fixes (umbenannt: WP-C) -**Status:** 🔄 OFFEN -> ⚠️ **Umbenannt:** Ursprüngliches WP5 (MCP-First) ist nachrangig. WP-C enthält jetzt fehlende PAI-Docs, PAI-Tools und Skill-Struktur-Fixes aus dem Audit. - -### WP5-Original: MCP-First Skills (Configuration, not Implementation) -**Status:** ZURÜCKGESTELLT (nach v3.0, kein Blocker) -**Effort:** 4-6 hours -**Dependencies:** WP4 (skills organized) -**Branch:** `v3.0-wp5-mcp` - -**Goal:** Configure 3-5 core skills as MCP servers (use OpenCode-native MCP) - -**Tasks:** -1. **SELECT 3-5 core skills** for MCP conversion: - - Research (API-heavy) - - Security (tool-heavy) - - One more (to be decided) -2. **CONFIGURE in `opencode.json`**: - ```json - { - "mcp": { - "research-skill": { - "type": "local", - "command": "bun ~/.opencode/mcp/research/server.ts" - } - } - } - ``` -3. **Don't build MCP server framework** - use OpenCode's native MCP! -4. Create simple TypeScript servers for selected skills -5. Document skill discovery via MCP - -**Key Insight:** OpenCode has MCP built-in - just configure, don't implement! - -**Output:** -- 3-5 skills as MCP servers -- `opencode.json` MCP configuration -- Documentation - -**Verification:** -- MCP tools appear in OpenCode -- Skills work via MCP -- Dynamic discovery functional - ---- - -### WP6: VoiceServer Foundation (TTS Core) - -**Status:** MEDIUM PRIORITY -**Effort:** 4-6 hours -**Dependencies:** WP1-5 complete -**Branch:** `v3.0-wp6-voiceserver` - -**Goal:** Port PAI 4.0.3 VoiceServer for TTS notifications (NOT Voice-to-Voice) - -**Clarification:** -- ✅ **PAI-OpenCode:** Native VoiceServer (TTS, status, basic notifications) -- ❌ **Open Arc:** Voice-to-Voice, WebSocket Streaming, Real-time processing - -**Tasks:** -1. **Port VoiceServer from PAI 4.0.3:** - - `VoiceServer/server.ts` - TTS server - - `VoiceServer/start.sh`, `stop.sh`, `restart.sh` - - `voices.json` - Voice configuration - - `pronunciations.json` - Custom pronunciations -2. **Integrate with OpenCode plugin events:** - - `voice-notification.ts` handler (already exists) - - Trigger on session events, task completion -3. **Update for OpenCode compatibility:** - - Port from Claude voice_id to OpenCode voice_id - - Ensure local TTS works (macOS say, Google TTS, 11labs) - -**Output:** -- `.opencode/PAI/VoiceServer/` (core TTS) -- Voice notifications working in Algorithm phases - -**Note:** Voice-to-Voice/WebSocket remains in Open Arc — see `docs/SCOPE-BOUNDARY.md` - ---- - -### WP-G: OpenCode-Native Hardening (NEU — 2026-03-06) -**Status:** 🔄 OFFEN — integrierbar in WP-A -**Effort:** 0.5 Tag -**Dependencies:** WP-A (Plugin-System) -**Source:** DeepWiki Codemap Research 2026-03-06 - -**Hintergrund:** 6 DeepWiki Codemap-Queries auf `anomalyco/opencode` haben fundamentale Unterschiede aufgedeckt. Vollständiges Research-Dokument: `docs/epic/OPENCODE-NATIVE-RESEARCH.md` - -**Kritische Punkte:** -- Bash ist STATELESS — `workdir` Parameter ist PFLICHT überall (nicht `cd`) -- `session.compacted` Event = letzter Moment für Learning-Rescue -- `shell.env` Hook für PAI-Kontext-Injektion per Bash-Call -- `file.edited` Event für Event-driven PRD-Sync -- OpenCode liest AUCH `.claude/skills/` — Backward-Kompatibel! - -**Tasks (in WP-A integrieren):** -1. ✅ AGENTS.md: `workdir` Pflicht dokumentiert (2026-03-06) -2. pai-unified.ts: `shell.env` Hook für PAI-Kontext -3. session-cleanup.ts: `session.compacted` als Learning-Rescue -4. prd-sync.ts: `file.edited` auf `*.prd.md` für PRD-Sync - ---- - -### WP-F: DB Health & Session Archivierung (NEU — 2026-03-06) -**Status:** 🔄 OFFEN — integriert in PR #D -**Effort:** 0.5–1 Tag -**Dependencies:** WP-A (session-cleanup.ts als Basis) - -**Hintergrund:** OpenCode hat keine automatische Session-Retention-Policy. Die `opencode.db` wächst ungebremst (2.4 GB nach 3 Monaten). Ohne Lösung: Startup-Errors, Performance-Degradation, unhandhabbare DB-Größe. - -**Goal:** OpenCode-native Lösung in 3 Ebenen — automatisch, manuell, visuell. - -**Drei Ebenen:** - -``` -EBENE 1 — Plugin (automatisch): -└── session-cleanup.ts: Warnung wenn DB > 500 MB oder > 100 alte Sessions - -EBENE 2 — CLI Tool (manuell, standalone): -└── Tools/db-archive.ts: Archive, Delete, VACUUM, Restore - -EBENE 3 — Custom Command (OpenCode-native): -└── /db-archive Command: Status + Archivierung direkt im TUI - -EBENE 4 — GUI (visuell): -└── Not shipped — installer is CLI-only in this repo -``` - -**Output:** -- `plugins/lib/db-utils.ts` (Size/Session Utilities) -- `Tools/db-archive.ts` (Standalone Bun Tool) -- `.opencode/commands/db-archive.ts` (Custom Command) -- `docs/DB-MAINTENANCE.md` - -**Verification:** -- `bun db-archive.ts --dry-run` zeigt korrekten Preview -- Archivierte Sessions in `~/.opencode/archives/*.db` -- Restore einer archivierten Session funktioniert -- `/db-archive` Command erreichbar im TUI - ---- - -### WP-D (ehemals WP7): Migration & Installer -**Status:** 🔄 OFFEN -**Effort:** 6-8 hours -**Dependencies:** WP1-5 complete -**Branch:** `v3.0-wp7-migration` - -**Goal:** Smooth upgrade from v2.x + new installer - -**Tasks:** -1. **Create migration script** `v2-to-v3.ts`: - - Backup existing `.opencode/` - - Move skills to new structure - - Update path references - - Preserve USER/ customizations -2. **Create installer** for vanilla OpenCode: - - Guide user to install via opencode.ai official installer - - Install PAI-OpenCode core - - Configure `opencode.json` with per-agent model settings -3. **Documentation:** - - `UPGRADE.md` (for existing users) - - `INSTALL.md` (for new users) - - `ARCHITECTURE.md` (technical overview) - -**Output:** -- `migration-v2-to-v3.ts` script -- Installer for vanilla OpenCode -- Complete documentation - -**Verification:** -- Migration tested on 3+ environments -- New install works clean -- No data loss - ---- - -### WP-E (ehemals WP8): Testing & v3.0.0 Release -**Status:** 🔄 OFFEN (nach WP-A bis WP-D) -**Effort:** 6-10 hours -**Dependencies:** ALL WPs complete -**Branch:** `v3.0-rearchitecture` (integration) - -**Goal:** Stable release - -**Tasks:** -1. **Full test suite:** - - Algorithm tests (all 7 phases) - - Agent-based routing tests - - Lazy loading tests - - Plugin event tests - - Skill hierarchy tests -2. **Integration testing:** - - End-to-end workflows - - Migration testing - - Vanilla OpenCode compatibility -3. **Beta release:** - - Tag `v3.0.0-beta.1` - - Limited user testing - - Feedback collection -4. **Final release:** - - Tag `v3.0.0` - - Release notes - - Announcement - -**Output:** -- All tests passing -- `v3.0.0` release -- Release notes - -**Verification:** -- 100% test pass rate -- Beta feedback positive -- CI/CD green - ---- - -## 🔄 Aktueller Dependency-Graph (nach Audit 2026-03-06) - -```text -WP1 ✅ (Algorithm v3.7.0) - │ - └──► WP2 ✅ (Lazy Context) - │ - └──► WP3 ⚠️ (Kategorie-Struktur ✅, Hooks/Plugin-Architektur ❌) - │ - └──► WP-A 🔄 (WP3-Completion: 6 Hooks + Plugin) - │ │ - │ └──► WP-F 🔄 (DB Health — session-cleanup.ts Basis) - │ - └──► WP-B 🔄 (Security Hardening) - │ - └──► WP-C 🔄 (Core PAI System + Skill-Fixes) - │ - └──► WP-D 🔄 (Installer + Migration + WP-F GUI) - │ - └──► WP-E 🔄 (Testing + v3.0 Release) - -Parallel (ab WP-A unabhängig): -WP4 ⚠️ (Basis fertig) ──► Skill-Lücken in WP-C adressiert -WP-F ──► in PR #D integriert (Tools/db-archive.ts + Electron GUI) -``` - -**Critical Path:** WP-A → WP-B → WP-C → WP-D (inkl. WP-F) → WP-E -**WP-F Integration:** Session-Cleanup-Erweiterung in WP-A, GUI in WP-D -**Open Arc (out of scope):** Voice-to-Voice, OMI Ambient AI -**Referenzdokumente:** `GAP-ANALYSIS-v3.0.md` (was fehlt) | `TODO-v3.0.md` (konkrete Tasks) - ---- - -## 📊 Aktueller Effort & Timeline (nach Audit) - -| WP | Status | Effort | Deliverable | -|----|--------|--------|-------------| -| WP1 | ✅ Fertig | 8-12h | Algorithm v3.7.0 + Agent Routing | -| WP2 | ✅ Fertig | 6-8h | Lazy Context (~20KB) | -| WP3 | ⚠️ 40% | 5-7h investiert | Nur Kategorie-Struktur | -| WP4 | ⚠️ 70% | 8-10h investiert | Integration (funktional, unvollständig) | -| **WP-A** | 🔄 Offen | **1-2 Tage** | **6 Hooks + Plugin-Architektur + DB-Warnung** | -| **WP-B** | 🔄 Offen | **0.5-1 Tag** | **Prompt Injection Protection** | -| **WP-C** | 🔄 Offen | **2-3 Tage** | **Core PAI System + Skill-Fixes + PAI Tools** | -| **WP-D** | 🔄 Offen | **1.5-3 Tage** | **Installer + Migration + DB Health GUI** | -| **WP-E** | 🔄 Offen | **0.5-1 Tag** | **Testing + v3.0.0 Release** | -| **WP-F** | 🔄 Offen (in WP-D) | **0.5-1 Tag** | **DB Archivierung: Tool + Command + Electron Tab** | - -**Verbleibender Aufwand:** ~6-10 Tage -**Open Arc (out of scope):** Voice-to-Voice, OMI Ambient AI -**MCP-Skills:** Zurückgestellt auf v3.1 (kein v3.0-Blocker) - ---- - -## 🛡️ Security-First Architecture - -| Feature | Source | Value | -|---------|--------|-------| -| **Agent-Based Routing** | OpenCode-native | Cost optimization via appropriate agent selection | -| **Lazy Context Loading** | OpenCode-native | Fast session start | -| **MCP Skill Discovery** | OpenCode-native | Dynamic extensibility | -| **Event-Driven Architecture** | OpenCode-native | Cleaner code | -| **Prompt Injection Protection** | **Security Layer** | Defense against adversarial attacks | -| **Input Sanitization** | **Security Layer** | Pre-processing protection | -| **Security Event Logging** | **Security Layer** | Audit trail & monitoring | -| **Voice-to-Voice Ready** | Future | Ambient AI foundation | -| **OMI Integration** | Jeremiah Nexus | Wearable AI companion | - ---- - -## 🎯 Success Criteria - -1. ✅ Algorithm v3.7.0 fully functional with ISC -2. ✅ Initial context <25KB (vs. 233KB current) -3. ✅ Agent-based routing documented and functional -4. ✅ 3+ skills as MCP servers -5. ✅ Unified event-driven plugin -6. ✅ All 39 skills in hierarchical structure -7. ✅ Migration script tested -8. ✅ Documentation complete -9. ✅ Biome zero errors -10. ✅ CI/CD passing -11. ✅ **DB archivierbar via `/db-archive` Command** (OpenCode-native) -12. ✅ **`bun db-archive.ts --dry-run` zeigt korrekte Session-Vorschau** -13. ✅ **Archivierte Sessions wiederherstellbar via `--restore`** -14. ✅ **Electron DB Health Tab zeigt Größe, Sessions, Archiv-Button** - ---- - -## 🛠️ Implementation Guidelines (Conventions für alle WPs) - -> Übernommen aus WORK-PACKAGE-GUIDELINES.md (v1.0, 2026-03-05) — Original gelöscht nach Konsolidierung - -### Skill-Architektur: Hybrid Discovery System - -PAI-OpenCode verwendet einen **Hybrid-Ansatz**: -1. **Category-Level Skills** — Breite Capability-Bereiche (z.B. `Security/`, `Media/`) -2. **Sub-Skill Access** — Direktzugriff auf spezifische Skills (z.B. `Investigation/OSINT/`) -3. **Flat Skills** — Eigenständige Skills (z.B. `Research/`, `Council/`) - -**MINIMAL_BOOTSTRAP.md** muss BEIDE Ebenen enthalten (Kategorien UND Sub-Skills), damit kein Skill undiscoverable wird. - -### Architektur-Entscheidungen (Decision Log) - -| Datum | Entscheidung | Begründung | -|-------|-------------|------------| -| 2026-03-05 | Hybrid Discovery (Categories + Sub-Skills) | Direkt- und Kategoriezugriff beides möglich | -| 2026-03-05 | Skip Research/ als Kategorie | Einzelner Skill, bereits als Flat funktional | -| 2026-03-05 | MANDATORY/OPTIONAL-Sections ignorieren | Nicht in PAI 4.0.3 Referenz vorhanden | -| 2026-03-06 | **Option B für Plugin-Konsolidierung** | Handler-Module bleiben (pragmatisch), nur fehlende Hooks hinzufügen. Echte Konsolidierung auf v3.1 verschoben | -| 2026-03-06 | MCP-Skills auf v3.1 zurückgestellt | Kein v3.0-Blocker, Mehraufwand zu hoch | - -### CodeRabbit Review Strategy - -**Echte Issues (fixen):** Tippfehler, fehlende Pfad-Updates, PII in Docs, kaputte Code-Fences -**Wahrscheinliche Halluzinationen (verifizieren):** MANDATORY/OPTIONAL Sections, YAML-Frontmatter-Requirements, Mermaid-Diagramme als Pflicht -→ Immer zuerst gegen PAI 4.0.3 Referenz prüfen bevor man CodeRabbit-Feedback umsetzt. - -### WP-Implementierungs-Checkliste - -**Vor Implementierung:** -- [ ] Scope identifizieren: Welche Kategorien/Skills aus PAI 4.0.3? -- [ ] Current State prüfen: `ls .opencode/skills/` -- [ ] Upstream-Struktur verifizieren: PAI 4.0.3 als Referenz -- [ ] Hybrid-Ansatz entscheiden: Welche Sub-Skills brauchen Direktzugriff? - -**Nach Implementierung:** -- [ ] Git-Tracking prüfen: `git status` sollte "renamed" zeigen, nicht "deleted/new" -- [ ] Skill Discovery testen: `grep -r "name:" .opencode/skills/*/SKILL.md` -- [ ] MINIMAL_BOOTSTRAP.md aktualisiert (Kategorien + Sub-Skills) -- [ ] Biome check passing: `biome check .` - ---- - -## 📚 References - -- **PAI Original:** `/Users/steffen/workspace/github.com/danielmiessler/Personal_AI_Infrastructure/` -- **PAI v4.0.3:** `Releases/v4.0.3/.claude/` -- **OpenCode Docs:** [opencode.ai/docs](https://opencode.ai/docs/) -- **OpenCode GitHub:** [github.com/anomalyco/opencode](https://github.com/anomalyco/opencode) -- **Agent Teams Issue:** [#12661](https://github.com/anomalyco/opencode/issues/12661) -- **Lazy Loading Discussion:** [#7269](https://github.com/anomalyco/opencode/issues/7269) -- **PAI-OpenCode Current:** `/Users/steffen/workspace/github.com/Steffen025/pai-opencode/` -- **Handoff Document:** `MEMORY/WORK/2026-02-14_PAI-OpenCode-ReArchitecture_HANDOFF.md` - ---- - -## 🚀 Next Actions - -1. **Approve this Epic** — Confirm synthesis approach -2. **Start WP1** — Algorithm v3.7.0 with Model Tier integration -3. **DeepWiki Research** — Query OpenCode architecture specifics -4. **YouTube Analysis** — Daniel's PAI v4.0 videos for feature extraction - ---- - -**This is not a port. This is a synthesis.** -**This is PAI-OpenCode v3.0.** - ---- - -*Epic created: 2026-03-03* -*Status: Ready for implementation* -*Decision pending: Approve synthesis approach* diff --git a/docs/epic/OPTIMIZED-PR-PLAN.md b/docs/epic/OPTIMIZED-PR-PLAN.md deleted file mode 100644 index ac7e5eeb..00000000 --- a/docs/epic/OPTIMIZED-PR-PLAN.md +++ /dev/null @@ -1,244 +0,0 @@ ---- -title: PAI-OpenCode v3.0 - Corrected PR Plan -description: v3.0 COMPLETE — All 19 WPs shipped (PR #42–#59), tag + release pending post-merge -version: "3.0-native-1" -status: archived -authors: [Jeremy] -date: 2026-03-10 -tags: [architecture, migration, v3.0, PR-strategy, native-transformation] ---- - -# PAI-OpenCode v3.0 — Corrected PR Plan - -**Based on:** Full repository audit + live v4.0.3 upstream comparison (2026-03-08) -**Goal:** Accurate representation of remaining work (2 PRs remaining until v3.0) - ---- - -## Current Status (After WP-A + WP-B Completion, 2026-03-08) - -| WP | Name | PRs | Status | Content | -|----|------|-----|--------|---------| -| **WP1** | Algorithm v3.7.0 + Workdir Docs | #35, #36 | ✅ **Complete** | Algorithm v3.7.0, OpenCode workdir parameter | -| **WP2** | Context Modernization | #34 | ✅ **Complete** | Lazy Loading, Hybrid Algorithm loading | -| **WP3** | Category Structure Part A | #37 | ✅ **Complete** | Category Structure + Hooks via WP-A | -| **WP4** | Integration & Validation | #38, #39, #40 | ✅ **Complete** | Functional, validated | -| **WP-A** | WP3-Completion: Plugin System & Hooks | #42 | ✅ **Merged** | 5 handlers + bus events + pai-unified.ts | -| **WP-B** | Security Hardening / Prompt Injection | #43 | ✅ **Merged** | injection-guard + sanitizer + patterns | -| **WP-C** | Core PAI System + Skill Fixes | #45 | ✅ **Merged** | PAI docs, skill structure fixes, BuildOpenCode.ts | -| **WP-D** | Installer & Migration | #47 | ✅ **Merged** | PAI-Install, migration script, DB health | -| **WP-E** | Installer Refactor (CLI-only) | #48 | ✅ **Merged** | Symlink architecture, Google TTS, cleanup | -| **WP-N1** | Session Registry | #50 | ✅ **Merged** | Custom tools: session_registry + session_results | -| **WP-N2** | Compaction Intelligence | #51 | ✅ **Merged** | experimental.session.compacting hook + context injection | -| **WP-N3** | Algorithm Awareness | #52+#53 | ✅ **Merged** | SKILL.md context recovery, PRD parent_session_id | -| **WP-N4** | LSP + Fork Documentation | #53 | ✅ **Merged** | AGENTS.md LSP + Fork sections, installer .env | -| **WP-N5** | Plan Update | #54 | ✅ **Merged** | Sync all planning docs to reflect N1-N4 complete | -| **WP-N6** | System Self-Awareness | #55 | ✅ **Merged** | OpenCodeSystem skill, 4 architecture reference docs, ADR-017 | -| **WP-N7** | roborev + Biome CI | #56 | ✅ **Merged** | roborev plugin handler, CodeReview skill, GitHub Actions CI, ADR-018 | -| **WP-N8** | Obsidian Formatting Guidelines | #57 | ✅ **Merged** | Formatting guidelines, agent capability matrix (split from WP-N7) | -| **WP-N9** | Installer opencode.json Fix | #58 | ✅ **Merged** | provider-models.ts, full agent-tier generation, principalName in username | -| **WP-N10** | Docs Consolidation | #59 | ✅ **Merged** | CHANGELOG released, CONTRIBUTING/INSTALL/README updated, planning docs deleted | - -> [!NOTE] -> **2026-03-08 Live Audit:** WP-C scope significantly reduced after comparing repo against v4.0.3. -> Most PAI Tools and many docs were already ported in earlier WPs. -> See `TODO-v3.0.md` PR #C section for the verified remaining task list. - ---- - -## Remaining Work: 2 PRs (after WP-A + WP-B) - -### ✅ PR #A: WP3-Completion — Plugin System & Hooks — MERGED (#42) - -**Branch:** `feature/wp-a-plugin-hooks` → merged into `dev` - -```text -DELIVERED: -├── plugins/handlers/prd-sync.ts ✅ -├── plugins/handlers/session-cleanup.ts ✅ -├── plugins/handlers/last-response-cache.ts ✅ -├── plugins/handlers/relationship-memory.ts ✅ -├── plugins/handlers/question-tracking.ts ✅ -├── pai-unified.ts (all handlers integrated) ✅ -└── Bus events: session.compacted, session.error, permission.asked, - command.executed, installation.update.available, - session.updated, session.created (info object) ✅ -``` - ---- - -### ✅ PR #B: WP3.5 — Security Hardening / Prompt Injection — MERGED (#43) - -**Branch:** `feature/wp-b-security-hardening` → merged into `dev` - -```text -DELIVERED: -├── plugins/handlers/prompt-injection-guard.ts ✅ -├── plugins/lib/injection-patterns.ts ✅ -├── plugins/lib/sanitizer.ts ✅ -└── Integrated into pai-unified.ts ✅ -``` - ---- - -### 📋 PR #C: WP5 — Core PAI System Completion (CRITICAL) - -**Branch:** `feature/wp-c-core-pai-system` (new from `dev`) -**Estimate:** ~21 tasks, ~3–3.5h -**Dependencies:** PR #A ✅ - -> [!NOTE] -> **Verified against v4.0.3 upstream** — the task list below reflects only confirmed gaps. -> Many items from the original plan were already done in earlier WPs. - -```text -PHASE 1 — Structural fixes (flatten nested skills): -├── skills/USMetrics/USMetrics/ → flatten to skills/USMetrics/ -│ (move Tools/, Workflows/, merge SKILL.md, delete inner dir) -└── skills/Telos/Telos/ → flatten to skills/Telos/ - (move DashboardTemplate/, ReportTemplate/, Tools/, Workflows/, delete inner dir) - -PHASE 2 — Missing skill content (port from v4.0.3): -├── skills/Utilities/AudioEditor/ (SKILL.md + Tools/ + Workflows/) -├── skills/Utilities/Delegation/ (SKILL.md only) -├── skills/Research/MigrationNotes.md -├── skills/Research/Templates/ (MarketResearch.md, ThreatLandscape.md) -├── skills/Agents/ClaudeResearcherContext.md -└── skills/Utilities/SKILL.md (update: add AudioEditor + Delegation entries) - -PHASE 3 — Missing PAI/ flat docs (9 files, port + sed-replace .claude→.opencode): -├── CLI.md -├── CLIFIRSTARCHITECTURE.md -├── DOCUMENTATIONINDEX.md -├── FLOWS.md -├── PAIAGENTSYSTEM.md -├── README.md -├── SYSTEM_USER_EXTENDABILITY.md -├── THEFABRICSYSTEM.md -└── THENOTIFICATIONSYSTEM.md - -PHASE 3b — Missing PAI/ subdirectories (3 dirs, port + sed-replace): -├── ACTIONS/ (A_EXAMPLE_FORMAT/, A_EXAMPLE_SUMMARIZE/, lib/, pai.ts, README.md) -├── FLOWS/ (README.md) -└── PIPELINES/ (P_EXAMPLE_SUMMARIZE_AND_FORMAT.yaml, README.md) - -PHASE 4 — PAI Tools: -└── BuildCLAUDE.ts → BuildOpenCode.ts (copy + replace .claude→.opencode, CLAUDE.md→AGENTS.md) - Note: All other PAI Tools already present and identical to v4.0.3 ✅ - -PHASE 5 — Bootstrap & index: -├── MINIMAL_BOOTSTRAP.md (fix USMetrics path, add AudioEditor + Delegation) -└── bun GenerateSkillIndex.ts -``` - -**Completion checklist:** -- [ ] `bun run skills:validate` -- [ ] `bun run skills:index` -- [ ] `biome check --write .` -- [ ] `bun test` -- [ ] PR against `dev` - ---- - -### 📋 PR #D: WP6 — Installer & Migration + DB Health (CRITICAL) - -**Branch:** `feature/wp-d-installer-migration` (new from `dev` after #C merges) -**Estimate:** ~18 files, ~1300 lines -**Dependencies:** PR #C - -```text -PAI-Install/ (port from v4.0.3, adapt for OpenCode): -├── install.sh (~/.claude/ → ~/.opencode/, CLAUDE.md → AGENTS.md) -├── cli/ -├── engine/ -├── electron/ ← Removed (installer is CLI-only) -├── web/ ← Removed (installer is CLI-only) -└── main.ts ← Removed (installer is CLI-only) - -DB Health (WP-F — integrated): -├── plugins/handlers/session-cleanup.ts (extend: checkDbHealth()) -├── plugins/lib/db-utils.ts (getDbSizeMB, getSessionsOlderThan) -├── Tools/db-archive.ts (standalone: archive/vacuum/restore) -└── .opencode/commands/db-archive.ts (OpenCode custom command /db-archive) - -Migration & Docs: -├── tools/migration-v2-to-v3.ts -├── UPGRADE.md -├── CHANGELOG.md -├── docs/DB-MAINTENANCE.md -└── README.md (update) -``` - -> [!IMPORTANT] -> **Installer is CLI-only** — GUI installer removed - ---- - -## ⚙️ Architecture Decision: Plugin Consolidation - -> [!TIP] -> **Decided 2026-03-06 — Option B: Pragmatic** - -**Option A (Epic goal):** Dissolve all 19 handlers, native OpenCode events, ~300 lines -**Option B (Chosen):** Handler modules remain as "internal modules", only add missing hooks - -**Rationale for Option B:** -- Lower risk (no complete restructuring) -- Functionality guaranteed preserved -- Less effort (~1 day vs ~2 days) -- True consolidation deferred to **v3.1** - -**Consequence:** `pai-unified.ts` stays as coordinator over handler modules. New hooks added as new handler files and imported in `pai-unified.ts`. - ---- - -## Progress Diagram - -```text -Current state (dev branch): -├── WP1 ✅ Algorithm v3.7.0 -├── WP2 ✅ Context Modernization -├── WP3 ✅ Category Structure (completed via WP-A) -├── WP4 ✅ Integration & Validation -├── WP-A ✅ Plugin System + 5 Hooks (PR #42) -├── WP-B ✅ Security Hardening (PR #43) -├── WP-C ✅ Core PAI System (PR #45) -├── WP-D ✅ Installer & Migration (PR #47) -├── WP-E ✅ Installer Refactor (PR #48) -├── WP-N1 ✅ Session Registry (PR #50) -├── WP-N2 ✅ Compaction Intelligence (PR #51) -├── WP-N3 ✅ Algorithm Awareness (PR #52+#53) -├── WP-N4 ✅ LSP + Fork Documentation (PR #53) -├── WP-N5 ✅ Plan Update (PR #54) -├── WP-N6 ✅ System Self-Awareness (PR #55) -├── WP-N7 ✅ roborev + Biome CI (PR #56) -├── WP-N8 ✅ Obsidian Formatting Guidelines (PR #57) -├── WP-N9 ✅ Installer opencode.json Fix (PR #58) -└── WP-N10 ✅ Docs Consolidation (PR #59) -``` - ---- - -## Summary (Updated 2026-03-12) - -| Metric | 2026-03-08 | 2026-03-11 | **Final (2026-03-12)** | -|--------|------------|------------|------------------------| -| Port WPs done | 8 ✅ | 9 ✅ (WP-E) | **9 ✅** | -| Native WPs done | 0 | 4 ✅ (N1–N4) | **10 ✅ (N1–N10)** | -| Open PRs | 2 (C, D) | 1 (#55) | **0 — all merged** | -| Remaining native work | Not planned | WP-N6 in progress | **NONE — v3.0 complete** | - -**Status:** v3.0 COMPLETE. All 19 WPs shipped (PR #42–#59). Tag v3.0.0 and GitHub release pending post-merge. - -**Granular task list:** `docs/epic/TODO-v3.0.md` - ---- - -*Original plan: 2026-03-06* -*Correction 1 (2026-03-06): Fixed WP3 completion status — was never fully done* -*Correction 2 (2026-03-08): WP-A (#42) + WP-B (#43) merged; WP-C scope verified against v4.0.3 upstream* -*Correction 3 (2026-03-11): WP-N1–N4 complete (PR #50–#53); WP-N5 plan sync in progress* -*Correction 4 (2026-03-12): WP-N5 merged (PR #54); WP-N6 in progress (PR #55 open); WP-N7 planned* -*Correction 5 (2026-03-12): WP-N6 merged (PR #55); WP-N7 in progress (roborev + Biome CI); WP-N8 planned (Obsidian — split from WP-N7)* -*Correction 6 (2026-03-12): WP-N7 merged (PR #56); WP-N8 in progress (Obsidian formatting guidelines + agent capability matrix)* -*Correction 7 (2026-03-12): WP-N8 merged (PR #57); WP-N9 merged (PR #58); WP-N10 merged (PR #59) — v3.0 COMPLETE* diff --git a/docs/epic/TODO-v3.0.md b/docs/epic/TODO-v3.0.md deleted file mode 100644 index a94e42c6..00000000 --- a/docs/epic/TODO-v3.0.md +++ /dev/null @@ -1,519 +0,0 @@ ---- -title: PAI-OpenCode v3.0 — Task List -description: Granular, immediately actionable tasks for the remaining PRs until v3.0 release -status: archived -date: 2026-03-10 ---- - -# PAI-OpenCode v3.0 — TODO - -> [!NOTE] -> **Basis:** Gap-Analysis 2026-03-06 | Reference: `GAP-ANALYSIS-v3.0.md` | Plan: `OPTIMIZED-PR-PLAN.md` -> **Updated:** 2026-03-12 — WP-N1 through WP-N10 complete (PR #50–#61). v3.0 DONE. - ---- - -## Overall Progress - -```text -WP1 ████████████ 100% ✅ ← PR #32-35 -WP2 ████████████ 100% ✅ ← PR #34 -WP3 ████████████ 100% ✅ ← PR #37 -WP4 ████████████ 100% ✅ ← PR #38-40 -────────────────────────────────────── -WP-A ████████████ 100% ✅ ← PR #42 merged -WP-B ████████████ 100% ✅ ← PR #43 merged -WP-C ████████████ 100% ✅ ← PR #45 merged -WP-D ████████████ 100% ✅ ← PR #47 merged -WP-E ████████████ 100% ✅ ← PR #48 merged -────────────────────────────────────── -WP-N1 ████████████ 100% ✅ ← Session Registry complete, PR #50 -WP-N2 ████████████ 100% ✅ ← Compaction Intelligence complete, PR #51 -WP-N3 ████████████ 100% ✅ ← Algorithm Awareness complete, PR #52+#53 -WP-N4 ████████████ 100% ✅ ← LSP + Fork Documentation complete, PR #53 -WP-N5 ████████████ 100% ✅ ← Plan Update complete, PR #54 -WP-N6 ████████████ 100% ✅ ← System Self-Awareness, PR #55 merged -WP-N7 ████████████ 100% ✅ ← roborev + Biome CI, PR #56 merged - WP-N8 ████████████ 100% ✅ ← Obsidian formatting + agent matrix, PR #57 merged - WP-N9 ████████████ 100% ✅ ← Installer opencode.json fix, PR #58 merged - WP-N10 ███████████ 100% ✅ ← Docs consolidation, PR #59 merged -``` - -> **v3.0 COMPLETE. All 19 WPs shipped.** - ---- - -## ✅ PR #A — WP3-Completion: Plugin System & Hooks — MERGED (#42) - -**Branch:** `feature/wp-a-plugin-hooks` — **MERGED into `dev`** - -All handlers ported and integrated into `pai-unified.ts`: - -- [x] `plugins/handlers/prd-sync.ts` ✅ -- [x] `plugins/handlers/session-cleanup.ts` ✅ -- [x] `plugins/handlers/last-response-cache.ts` ✅ -- [x] `plugins/handlers/relationship-memory.ts` ✅ -- [x] `plugins/handlers/question-tracking.ts` ✅ -- [x] All 6 handlers integrated into `pai-unified.ts` ✅ -- [x] Bus events implemented: `session.compacted`, `session.error`, `permission.asked`, `command.executed`, `installation.update.available`, `session.updated`, `session.created` ✅ -- [x] `biome check --write .` ✅ -- [x] `bun test` ✅ - ---- - -## ✅ PR #B — WP3.5: Security Hardening / Prompt Injection — MERGED (#43) - -**Branch:** `feature/wp-b-security-hardening` — **MERGED into `dev`** - -- [x] `plugins/lib/injection-patterns.ts` ✅ -- [x] `plugins/handlers/prompt-injection-guard.ts` ✅ -- [x] `plugins/lib/sanitizer.ts` ✅ -- [x] `MEMORY/SECURITY/` directory registered ✅ -- [x] Integrated into `pai-unified.ts` (`tool.execute.before` + `message.received`) ✅ -- [x] Sensitivity-level setting (low/medium/high) ✅ -- [x] Manual tests with known injection patterns ✅ -- [x] `biome check --write .` ✅ - ---- - -## ✅ PR #C — WP5: Core PAI System + Skill Fixes — MERGED (#45) - -**Branch:** `feature/wp-c-core-pai-system` — **MERGED into `dev`** -**Estimated effort:** ~3–3.5h (verified against v4.0.3 upstream — many items already done) -**Dependencies:** PR #A ✅ (done) - -> [!NOTE] -> **Completed:** PR #45 merged 2026-03-10. All tasks below delivered. - ---- - -### C.1 — Structural Fixes: Flatten Nested Skills - -Two skills have the same incorrect nested structure — content exists one level too deep. - -**USMetrics — flatten:** -```bash -# Move contents up, merge SKILL.md, delete inner dir -cp -r .opencode/skills/USMetrics/USMetrics/Tools .opencode/skills/USMetrics/ -cp -r .opencode/skills/USMetrics/USMetrics/Workflows .opencode/skills/USMetrics/ -# Manually merge the two SKILL.md files (outer=category-wrapper, inner=actual skill content) -rm -rf .opencode/skills/USMetrics/USMetrics/ -``` - -- [x] Move `USMetrics/USMetrics/Tools/` → `USMetrics/Tools/` -- [x] Move `USMetrics/USMetrics/Workflows/` → `USMetrics/Workflows/` -- [x] Merge inner `USMetrics/USMetrics/SKILL.md` into outer `USMetrics/SKILL.md` -- [x] Delete `USMetrics/USMetrics/` directory - -**Telos — flatten:** -```bash -mv .opencode/skills/Telos/Telos/DashboardTemplate .opencode/skills/Telos/ -mv .opencode/skills/Telos/Telos/ReportTemplate .opencode/skills/Telos/ -mv .opencode/skills/Telos/Telos/Tools .opencode/skills/Telos/ -mv .opencode/skills/Telos/Telos/Workflows .opencode/skills/Telos/ -rm -rf .opencode/skills/Telos/Telos/ -``` - -- [x] Move `Telos/Telos/DashboardTemplate/` → `Telos/DashboardTemplate/` -- [x] Move `Telos/Telos/ReportTemplate/` → `Telos/ReportTemplate/` -- [x] Move `Telos/Telos/Tools/` → `Telos/Tools/` -- [x] Move `Telos/Telos/Workflows/` → `Telos/Workflows/` -- [x] Delete `Telos/Telos/` directory -- [x] Verify `Telos/SKILL.md` references point to `Telos/` not `Telos/Telos/` - ---- - -### C.2 — Missing Skill Content: Port from v4.0.3 - -Reference source: `.../Releases/v4.0.3/.claude/skills/` - -**Utilities — 2 skills missing:** -- [x] `skills/Utilities/AudioEditor/` — port from v4.0.3 (`SKILL.md`, `Tools/`, `Workflows/`) -- [x] `skills/Utilities/Delegation/` — port from v4.0.3 (`SKILL.md` only) -- [x] Update `skills/Utilities/SKILL.md` — add AudioEditor + Delegation entries -- [x] Replace any `.claude/` references with `.opencode/` in ported files - -**Research — 2 items missing:** -- [x] `skills/Research/MigrationNotes.md` — port from v4.0.3 -- [x] `skills/Research/Templates/` — port directory (contains `MarketResearch.md`, `ThreatLandscape.md`) - -**Agents — 1 file missing:** -- [x] `skills/Agents/ClaudeResearcherContext.md` — port from v4.0.3 - ---- - -### C.3 — Missing PAI/ Docs: Port from v4.0.3 - -Reference source: `.../Releases/v4.0.3/.claude/PAI/` - -**9 flat docs missing from `.opencode/PAI/`:** - -```bash -SRC=".../Releases/v4.0.3/.claude/PAI" -DST=".opencode/PAI" - -for f in CLI.md CLIFIRSTARCHITECTURE.md DOCUMENTATIONINDEX.md FLOWS.md \ - PAIAGENTSYSTEM.md README.md SYSTEM_USER_EXTENDABILITY.md \ - THEFABRICSYSTEM.md THENOTIFICATIONSYSTEM.md; do - cp $SRC/$f $DST/$f - sed -i '' 's/\.claude\//\.opencode\//g' $DST/$f -done -``` - -- [x] `CLI.md` → `.opencode/PAI/CLI.md` -- [x] `CLIFIRSTARCHITECTURE.md` → `.opencode/PAI/CLIFIRSTARCHITECTURE.md` -- [x] `DOCUMENTATIONINDEX.md` → `.opencode/PAI/DOCUMENTATIONINDEX.md` -- [x] `FLOWS.md` → `.opencode/PAI/FLOWS.md` -- [x] `PAIAGENTSYSTEM.md` → `.opencode/PAI/PAIAGENTSYSTEM.md` -- [x] `README.md` → `.opencode/PAI/README.md` -- [x] `SYSTEM_USER_EXTENDABILITY.md` → `.opencode/PAI/SYSTEM_USER_EXTENDABILITY.md` -- [x] `THEFABRICSYSTEM.md` → `.opencode/PAI/THEFABRICSYSTEM.md` -- [x] `THENOTIFICATIONSYSTEM.md` → `.opencode/PAI/THENOTIFICATIONSYSTEM.md` -- [x] All 9 files: replace `.claude/` → `.opencode/` after copy - -**3 subdirectories missing from `.opencode/PAI/`:** -- [x] `ACTIONS/` — port from v4.0.3 (contains `A_EXAMPLE_FORMAT/`, `A_EXAMPLE_SUMMARIZE/`, `lib/`, `pai.ts`, `README.md`) -- [x] `FLOWS/` — port from v4.0.3 (contains `README.md`) -- [x] `PIPELINES/` — port from v4.0.3 (contains `P_EXAMPLE_SUMMARIZE_AND_FORMAT.yaml`, `README.md`) -- [x] All ported files: replace `.claude/` → `.opencode/` after copy - -> [!NOTE] -> Already present in `.opencode/PAI/` (no action needed): `ACTIONS.md`, `AISTEERINGRULES.md`, -> `CONTEXT_ROUTING.md`, `MEMORYSYSTEM.md`, `MINIMAL_BOOTSTRAP.md`, `PAISYSTEMARCHITECTURE.md`, -> `PRDFORMAT.md`, `SKILL.md`, `SKILLSYSTEM.md`, `THEDELEGATIONSYSTEM.md`, `THEHOOKSYSTEM.md`, `TOOLS.md` - -> [!NOTE] -> Already present in `.opencode/skills/PAI/SYSTEM/` (docs exist, also belong in PAI/ per v4.0.3 arch): -> `PAIAGENTSYSTEM.md`, `CLIFIRSTARCHITECTURE.md`, `THEFABRICSYSTEM.md`, `THENOTIFICATIONSYSTEM.md`, -> `DOCUMENTATIONINDEX.md`, `SYSTEM_USER_EXTENDABILITY.md` — copy to PAI/ as well. - ---- - -### C.4 — PAI Tools: BuildCLAUDE.ts → BuildOpenCode.ts - -> [!NOTE] -> All other PAI Tools are already present in `.opencode/PAI/Tools/` — identical to v4.0.3. -> Only `BuildCLAUDE.ts` needs adaptation for OpenCode. - -- [x] Copy `.opencode/PAI/Tools/BuildCLAUDE.ts` → `.opencode/PAI/Tools/BuildOpenCode.ts` -- [x] In `BuildOpenCode.ts`: replace all `.claude/` → `.opencode/` -- [x] In `BuildOpenCode.ts`: replace all `CLAUDE.md` → `AGENTS.md` -- [x] In `BuildOpenCode.ts`: replace all `claude` CLI references → `opencode` -- [x] Update file header comment: `// BuildOpenCode.ts — OpenCode-native version of BuildCLAUDE.ts` - ---- - -### C.5 — Bootstrap & Index Update - -- [x] Update `MINIMAL_BOOTSTRAP.md` — fix USMetrics path (remove `/USMetrics/USMetrics/` nesting) -- [x] Update `MINIMAL_BOOTSTRAP.md` — add AudioEditor and Delegation entries -- [x] Regenerate skill index: `bun GenerateSkillIndex.ts` - ---- - -### PR #C Completion - -- [x] `bun run skills:validate` (ValidateSkillStructure.ts) -- [x] `bun run skills:index` (GenerateSkillIndex.ts) -- [x] `biome check --write .` -- [x] `bun test` -- [x] Create PR against `dev` → **MERGED #45** - ---- - -## ✅ PR #D — WP6: Installer & Migration — MERGED (#47) - -**Branch:** `feature/wp-d-installer-migration` — **MERGED into `dev`** -**Estimated effort:** 1–2 days -**Dependencies:** PR #C ✅ (done) - -> [!NOTE] -> **Completed:** PR #47 merged 2026-03-10. All tasks below delivered. - ---- - -### Port PAI-Install - -Reference: `.../Releases/v4.0.3/.claude/PAI-Install/` - -- [x] `PAI-Install/install.sh` — port + adapt for OpenCode - - `~/.claude/` → `~/.opencode/` - - `CLAUDE.md` → `AGENTS.md` -- [x] `PAI-Install/cli/` — port -- [x] `PAI-Install/engine/` — port -- [x] `PAI-Install/electron/` — removed (CLI-only installer) -- [x] `PAI-Install/web/` — removed (CLI-only installer) -- [x] `PAI-Install/main.ts` — removed (CLI-only installer) -- [x] `PAI-Install/README.md` — write - -> [!IMPORTANT] -> **Installer is CLI-only** — GUI installer removed - -### Migration Script - -- [x] Create `tools/migration-v2-to-v3.ts`: - ```text - 1. Backup ~/.opencode/ → ~/.opencode-backup-YYYYMMDD/ - 2. Detect current version (v2.x vs v3.x) - 3. Move flat skills → hierarchical structure (if not already done) - 4. Update MINIMAL_BOOTSTRAP.md - 5. Run ValidateSkillStructure.ts - 6. Report: what was migrated, what was skipped, what needs manual review - ``` -- [x] Test migration against a clean v2.x test setup - -### DB Health (WP-F — integrated into PR #D) - -- [x] Extend `plugins/handlers/session-cleanup.ts` with `checkDbHealth()` — warn when DB > 500MB or sessions > 90 days old -- [x] Implement `plugins/lib/db-utils.ts` — `getDbSizeMB()` and `getSessionsOlderThan(days)` -- [x] Create `Tools/db-archive.ts` — standalone Bun script for session archiving - - `bun db-archive.ts` — archive sessions > 90 days - - `bun db-archive.ts 180` — archive sessions > 180 days - - `bun db-archive.ts --dry-run` — preview what would be archived - - `bun db-archive.ts --vacuum` — VACUUM after archiving (requires OpenCode to be stopped) - - `bun db-archive.ts --restore archive-2025-Q4.db` — restore from archive -- [x] Create `.opencode/commands/db-archive.ts` — OpenCode custom command `/db-archive` -- [x] DB Health lives in CLI/TUI tooling (no installer GUI) -- [x] Create `docs/DB-MAINTENANCE.md` - -### Documentation - -- [x] Write `UPGRADE.md` — step-by-step from v2.x → v3.0 -- [x] Write `INSTALL.md` — fresh installation for new users -- [x] Create `CHANGELOG.md` — all breaking changes, new features, migration path -- [x] Update root `README.md` — v3.0-specific info - -### PR #D Completion - -- [x] Test migration script on clean test directory -- [x] Install script dry-run -- [x] `bun Tools/db-archive.ts --dry-run` on a real DB -- [x] Test custom command `/db-archive` in a fresh session -- [x] Test archive restore (restore one session) -- [x] `biome check --write .` -- [x] Create PR against `dev` → **MERGED #47** - ---- - -## 🏁 PR #E — WP-E: Final Testing & v3.0.0 Release - -**Branch:** `release/v3.0.0` from `dev` -**Estimated effort:** 0.5–1 day -**Dependencies:** PRs #A–#D all merged -**Priority:** CRITICAL (final step) - -### Pre-Release Tests - -- [ ] `bun test` — all tests green -- [ ] `biome check .` — zero errors -- [ ] `bun run skills:validate` — all skills valid -- [ ] Manual end-to-end: Algorithm 7 phases complete run -- [ ] Plugin events check: hooks fire correctly (session-start, tool-call, session-end) -- [ ] Injection guard test: known patterns blocked -- [ ] Migration script: clean run from v2 → v3 - -### GitHub Release - -- [ ] Create tag `v3.0.0` -- [ ] Fill GitHub Release from `CHANGELOG.md` -- [ ] Release notes: What's New, Breaking Changes, Migration - -### Communication (optional) - -- [ ] Inform PAI Community (Discord/GitHub Discussions) -- [ ] Review `CONTRIBUTING.md` — are guidelines still current? - ---- - -## 📋 Quick Reference: Files to Delete / Restructure - -| File | Action | Reason | -|------|--------|--------| -| `docs/epic/ARCHITECTURE-PLAN.md` | 🗑️ Deleted | Content consolidated into EPIC + GAP-ANALYSIS | -| `docs/epic/WP4-IMPLEMENTATION-PLAN.md` | 🗑️ Deleted | WP4 complete, outdated | -| `docs/epic/WORK-PACKAGE-GUIDELINES.md` | 🗑️ Deleted | Important parts integrated into EPIC | -| `.opencode/skills/USMetrics/USMetrics/` | 🔀 Flatten → PR #C | Incorrect nested structure | -| `.opencode/skills/Telos/Telos/` | 🔀 Flatten → PR #C | Incorrect nested structure | -| `.opencode/PAI/WP2_CONTEXT_COMPARISON.md` | 🗑️ Deleted | Build artifact, no lasting value | - ---- - -## 🗂️ Target Structure `docs/epic/` (after consolidation) - -```text -docs/epic/ -├── EPIC-v3.0-Synthesis-Architecture.md ← Master (Vision + WP-Status + Guidelines) -├── GAP-ANALYSIS-v3.0.md ← Audit result (reference for PR work) -├── OPTIMIZED-PR-PLAN.md ← Active PR plan (A-E) -└── TODO-v3.0.md ← This file (granular tasks) -``` - -
-Mermaid view of target structure - -```mermaid -graph TD - root["docs/epic/"] - root --> epic["EPIC-v3.0-Synthesis-Architecture.md
Master: Vision + WP-Status + Guidelines"] - root --> gap["GAP-ANALYSIS-v3.0.md
Audit result (3-way comparison)"] - root --> plan["OPTIMIZED-PR-PLAN.md
Active PR plan (A–E)"] - root --> todo["TODO-v3.0.md
Granular tasks"] -``` - -
- ---- - -## 🆕 WP-N1..N5 — OpenCode-Native Transformation (ACTIVE) - -> [!IMPORTANT] -> **The port is complete. The native transformation starts now.** -> Full specification: `docs/epic/EPIC-v3.0-OpenCode-Native.md` - -### WP-N1: Session Registry — ✅ COMPLETE (PR #50) -**Branch:** `feature/wp-n1-session-registry` -**Spec:** ADR-012 -**Status:** Merged, ready for execution - -- [x] Create `plugins/handlers/session-registry.ts` — track subagent sessions via `tool.execute.after` -- [x] Add custom tools `session_registry` + `session_results` in `pai-unified.ts` -- [x] Write AGENTS.md section on post-compaction recovery -- [x] ADR-012 already exists (merged via PR #49) - ---- - -### WP-N2: Compaction Intelligence — ✅ Complete (PR #51) -**Branch:** `feature/wp-n2-compaction-intelligence` -**Spec:** ADR-015 -**Status:** Merged into `dev` - -- [x] Implement `experimental.session.compacting` hook in `pai-unified.ts` -- [x] Create `plugins/handlers/compaction-intelligence.ts` with context builders -- [x] Inject registry + ISC + PRD context into compaction summary -- [x] ADR-015 already exists (merged via PR #49) - ---- - -### WP-N3: Algorithm Awareness — ✅ Complete (PR #52+#53) -**Branch:** `feature/wp-n3-algorithm-awareness` -**Spec:** ADR-013 -**Status:** Merged into `dev` - -- [x] Update AGENTS.md — Session API section (already complete from WP-N1/N2) -- [x] Update Algorithm SKILL.md — Post-Compaction recovery pattern with session tools -- [x] Update CONTEXT RECOVERY section — session_registry first, never claim results lost -- [x] ADR-013 already exists (merged via PR #49) - ---- - -### WP-N4: LSP + Fork Documentation — ✅ Complete (PR #53) -**Branch:** `feature/wp-n4-lsp-fork` -**Spec:** ADR-014 + ADR-016 - -- [x] Document `OPENCODE_EXPERIMENTAL_LSP_TOOL=true` -- [x] Add LSP section to AGENTS.md (LSP vs Grep table, activation) -- [x] Document Session Fork API for safe experiments -- [x] Add Fork section to AGENTS.md (use-cases, API reference, workflow) -- [x] Installer legt auskommentierten `OPENCODE_EXPERIMENTAL_LSP_TOOL=true` Eintrag in `.env` an — Anwender müssen ihn manuell aktivieren (opt-in) - ---- - -### WP-N5: Plan Update — ✅ Complete (PR #54) -**Branch:** `feature/wp-n5-plan-update` - -- [x] Update OPTIMIZED-PR-PLAN.md — WP-N1..N4 complete, WP-E merged, summary/progress updated -- [x] Update EPIC-v3.0-OpenCode-Native.md — WP-N1..N5 status lines added -- [x] Update ADR README — ADR-012..016 Planned → Merged -- [x] Update TODO-v3.0.md — this file (WP-N5 complete) - ---- - -### WP-N6: System Self-Awareness — 🔄 In Progress (PR #55) -**Branch:** `feature/wp-n6-system-awareness` -**Spec:** ADR-017 -**Dependencies:** WP-N3 (Algorithm Awareness) + WP-N4 (LSP/Fork documented) -**Goal:** Algorithm understands its operating environment - -- [x] Create `.opencode/skills/OpenCodeSystem/SKILL.md` with USE WHEN triggers -- [x] Create `SystemArchitecture.md` — PAI-OpenCode 3.0 structure -- [x] Create `ToolReference.md` — all native + MCP tools -- [x] Create `Configuration.md` — settings.json, opencode.json, model routing -- [x] Create `Troubleshooting.md` — self-diagnostic checklist -- [x] Create ADR-017: System Self-Awareness -- [x] Update skill-index.json with OpenCodeSystem entry -- [x] Update ADR README + TODO + OPTIMIZED-PR-PLAN -- [x] Fix: Remove hardcoded model names → tier-only references -- [x] Fix: Add YAML frontmatter + Obsidian callouts to all docs -- [x] Fix: Add `permission.asked` hook to SystemArchitecture.md -- [x] Fix: Safe rsync in Troubleshooting.md (was unsafe mv) -- [x] Fix: Restructure SKILL.md to PAI v3.0 schema (MANDATORY/OPTIONAL) -- [x] Fix: Add `OPENCODE_EXPERIMENTAL_LSP_TOOL=true` to .env.example -- [x] Fix: MCP detection uses grep (no cat pipe), searches both keys - ---- - -### WP-N7: roborev Code Review + Biome CI Pipeline — 🔄 In Progress -**Branch:** `feature/wp-n7-code-review` -**Dependencies:** WP-N6 -**Goal:** AI code review (roborev) + CI pipeline (Biome GitHub Actions) + documentation - -- [x] `.roborev.toml` — config with `agent = "opencode"` + PAI guidelines -- [x] `handlers/roborev-trigger.ts` — `code_review` custom tool -- [x] `pai-unified.ts` — import + tool registration -- [x] `.opencode/skills/CodeReview/SKILL.md` — CodeReview skill -- [x] `.github/workflows/code-quality.yml` — Biome CI on PRs -- [x] `ADR-018` — architectural decision record -- [x] `SystemArchitecture.md` — handler map + CI section updated -- [x] `ToolReference.md` — `code_review` tool entry added -- [x] `Configuration.md` — `.roborev.toml` + `biome.json` sections added -- [x] `Troubleshooting.md` — roborev section added -- [x] `adr/README.md` — ADR-018 row added -- [x] `skill-index.json` — regenerated with CodeReview skill -- [x] `OpenCodeSystem/SKILL.md` — updated to mention CodeReview - ---- - -### WP-N8: Obsidian Formatting Guidelines — ✅ Complete (PR #57 merged) -**Branch:** `feature/wp-n8-obsidian-formatting` -**Dependencies:** WP-N7 ✅ -**Goal:** Obsidian formatting guidelines + agent capability matrix - -- [x] `docs/architecture/FormattingGuidelines.md` — frontmatter, callouts, Mermaid, code blocks, SKILL.md/ADR schemas -- [x] `docs/architecture/AgentCapabilityMatrix.md` — all agent types, model tiers, tool/MCP access, decision rules -- [x] `docs/architecture/SystemArchitecture.md` — updated directory layout + ADR table for WP-N8 docs -- [x] `docs/epic/TODO-v3.0.md` — WP-N8 progress updated -- [x] `docs/epic/OPTIMIZED-PR-PLAN.md` — WP-N8 status updated - ---- - -### WP-N9: Installer opencode.json Fix — ✅ Complete (PR #58 merged) -**Branch:** `feature/wp-n9-installer-opencode-json` -**Dependencies:** WP-N8 ✅ -**Goal:** Fix installer to generate correct 4-provider opencode.json - -- [x] `PAI-Install/engine/provider-models.ts` — 4 providers × 3 tiers -- [x] `PAI-Install/engine/steps-fresh.ts` — full opencode.json generation per provider -- [x] `PAI-Install/cli/quick-install.ts` — principalName populated from username - ---- - -### WP-N10: Docs Consolidation — ✅ Complete (PR #59 merged) -**Branch:** `feature/wp-n10-docs-consolidation-v2` -**Dependencies:** WP-N9 ✅ -**Goal:** Final documentation cleanup for v3.0 release - -- [x] `CHANGELOG.md` — [3.0.0] marked released 2026-03-12, WP-N1..N10 Added sections -- [x] `CONTRIBUTING.md` — Skills structure updated to hierarchical Category/SkillName/ -- [x] `INSTALL.md` — 4 provider presets documented -- [x] `README.md` — Broken links to ROADMAP.md and SCOPE-BOUNDARY.md removed -- [x] `docs/epic/GAP-ANALYSIS-v3.0.md` — Deleted (planning complete) -- [x] `docs/epic/EPIC-v3.0-OpenCode-Native.md` — Deleted (planning complete) -- [x] `docs/epic/OPENCODE-NATIVE-RESEARCH.md` — Deleted (planning complete) -- [x] `docs/architecture/SystemArchitecture.md` — WP-N9/N10 entries added -- [x] `docs/architecture/AgentCapabilityMatrix.md` — 4 installer presets noted - ---- - -*Created: 2026-03-06* -*Updated: 2026-03-12 — v3.0 COMPLETE. All 19 WPs (WP-A through WP-N10) shipped.* -*Basis: GAP-ANALYSIS-v3.0.md + EPIC-v3.0-Synthesis-Architecture.md + EPIC-v3.0-OpenCode-Native.md* diff --git a/docs/epic/V3.0-COMPLETION-PLAN.md b/docs/epic/V3.0-COMPLETION-PLAN.md deleted file mode 100644 index 8bbf8505..00000000 --- a/docs/epic/V3.0-COMPLETION-PLAN.md +++ /dev/null @@ -1,599 +0,0 @@ -# PAI-OpenCode v3.0 — Vollständiger Übertrag Plan -> dev → main mit Claude→OpenCode Bereinigung + CodeRabbit Quality Gate - -**Status:** READY TO EXECUTE -**Erstellt:** 2026-03-13 -**Zweck:** Meticulous, vollständiger Übertrag von `dev` nach `main` — diesmal mit ALLEN 935 Dateien, aufgeteilt in 11 CodeRabbit-taugliche PRs à max 150 Dateien - ---- - -## Warum dieser Plan existiert - -Die vier ersten Release-PRs (#62-65) haben nur ~316 von 935 Datei-Unterschieden zwischen `dev` und `main` abgedeckt. Wichtige Features fehlen auf `main`: - -- **PAI-Install/** (CLI installer) — komplett fehlend -- **Hierarchische Skill-Struktur** (Thinking/, Security/, Utilities/, etc.) — Skills noch flach -- **Claude→OpenCode Bereinigung** — ~245 Dateien erwähnen noch "Claude" teils falsch -- **OpenCode-Native Features** (WP-N1 bis N10) — nur teilweise auf main - ---- - -## Strategie: Integration-Branch - -``` - dev (vollständig, 206 Commits ahead of main) - │ - ▼ -release/v3.0-complete ← NEU von dev erstellen - │ - ├── Schritt 0: main reinholen (49 CodeRabbit-Fix-Commits) - │ Konflikte → dev-Version bevorzugen, außer bei - │ eindeutigen CodeRabbit-Fixes (Bug-Fixes) - │ - ├── Schritt 1: Claude→OpenCode Bereinigung auf diesem Branch - │ (semantisch prüfen, NICHT pauschal ersetzen) - │ - └── Schritte 2-12: 11 thematische PRs → main - Jeder PR max 150 Dateien, CodeRabbit-reviewed -``` - -**Warum Integration-Branch statt direkt von dev:** -- `dev` bleibt unverändert als historische Referenz -- Claude-Fixes passieren VOR CodeRabbit-Review -- Merge-Konflikte werden einmal zentral gelöst -- `release/v3.0-complete` ist die Werkstatt - ---- - -## Schritt 0: Vorbereitung (VOR allem anderen) - -### 0a. CodeRabbit-Fixes von main nach dev backmergen (bereits entschieden) - -Die 49 Commits auf `main` die NICHT auf `dev` sind, müssen zurück nach `dev`: - -```bash -git checkout dev -git merge origin/main --no-ff -m "chore: merge CodeRabbit fixes from main back into dev" -# Konflikte lösen: bei PAI Tools/Plugins → main-Version nehmen (wurde gefixt) -# bei allem anderen → dev-Version nehmen -git push origin dev -``` - -**Konflikte erwartet bei:** `.opencode/PAI/Tools/BannerMatrix.ts`, `ExtractTranscript.ts`, `FailureCapture.ts`, `YouTubeApi.ts`, `TranscriptParser.ts`, `plugins/handlers/*.ts` - -**Entscheidungsregel bei Konflikten:** -- `fix: CodeRabbit` in Commit-Message → main-Version nehmen (das ist ein echter Bug-Fix) -- `fix: lint/ci` → main-Version nehmen -- Alles andere → dev-Version nehmen - -### 0b. Integration-Branch erstellen - -```bash -git checkout dev -git pull origin dev -git checkout -b release/v3.0-complete -git push -u origin release/v3.0-complete -``` - ---- - -## Claude→OpenCode Bereinigung — 8 Kategorien (vollständige Analyse) - -> **Detailplan:** Siehe `docs/epic/CLAUDE-CLEANUP-PLAN.md` für die vollständige Datei-für-Datei-Analyse -> mit Aufwandschätzungen, Entscheidungsmatrizen und PR-Zuordnung. - -### Kritische Erkenntnis - -Die schwersten Claude-Referenz-Dateien (THEHOOKSYSTEM.md: 48 Treffer, TOOLS.md: 25, MEMORYSYSTEM.md: 20, SKILLSYSTEM.md: 17) sind **bereits identisch auf main UND dev**. Sie sind in KEINEM der 11 PRs enthalten. Deshalb brauchen wir **PR-12** für die semantische Bereinigung. - -### Die 8 Kategorien — Muss gefixt werden - -| # | Typ | ~Dateien | Problem | Schwierigkeit | -|---|-----|---------|---------|---------------| -| 1 | `~/.claude/` Pfade | ~30 | Zeigt auf nicht-existierendes Verzeichnis | ⚡ Mechanisch | -| 2 | `CLAUDE.md` als Dateiname | ~15 | Datei existiert nicht in OpenCode — heißt AGENTS.md | ⚡ Mechanisch | -| 3 | `claude -p` CLI-Calls | 5 | OpenCode hat kein `claude -p`, nutzt Task-Tool | ⚠️ Semi-mechanisch | -| 4 | "Claude Code" als Plattform | ~40 | Beschreibt Claude Code Hooks/Sessions die nicht existieren | 🔴 Semantisch | -| 5 | `BuildCLAUDE.ts` | 1 | Generiert CLAUDE.md — Zweck obsolet | 🔴 Entscheidung (Rename vs Delete) | -| 6 | `claudeHome` Variable | 1 | Variable heißt `claudeHome`, zeigt aber auf `.opencode/` | ⚡ Trivial | -| 7 | "claude session" Referenzen | 3 | Referenziert nicht-existierende `claude session` API | ⚠️ Mittel | -| 8 | `projects/{uuid}.jsonl` | ~5 | Referenziert Claude Code Transcript-Speicher | ⚠️ Mittel | - -### Beibehalten (korrekt — NICHT ändern) - -| Typ | ~Dateien | Warum beibehalten | -|-----|---------|-------------------| -| Modellnamen (`claude-opus`, `claude-sonnet`, `claude-haiku`) | ~40 | Korrekte AI-Modell-Identifiers | -| `ClaudeResearcher` Agent | ~10 | Absichtlicher Agent-Name | -| Migration-Docs | ~5 | Erklären den Unterschied — das ist deren Job | -| `opencode.json` / `settings.json` | 2 | Nur Modellnamen | -| PAI-Install Detection (`detect.ts`, `types.ts`) | 2 | Installer muss Claude Code erkennen | -| CHANGELOG.md Historie | 1 | Historische Korrektheit | - -### Die 6 größten Baustellen (alle in PR-12) - -| Datei | Treffer | Problem | Geschätzter Aufwand | -|-------|---------|---------|-------------------| -| **THEHOOKSYSTEM.md** (×2) | 48 | Zwei Instanzen (`.opencode/PAI/` + `.opencode/skills/PAI/SYSTEM/`) → beide LÖSCHEN. THEPLUGINSYSTEM.md existiert bereits, nur UPDATEN | ⚠️ 1-2 Stunden | -| **TOOLS.md** | 25 | Tool-Referenzen auf Claude Code Tools | 🔴 1-2 Stunden | -| **MEMORYSYSTEM.md** | 20 | Referenziert `projects/{uuid}.jsonl` Transcript-Speicher | 🔴 1-2 Stunden | -| **SKILLSYSTEM.md** | 17 | Beschreibt Skill-Loading via CLAUDE.md | ⚠️ 1 Stunde | -| **BuildCLAUDE.ts** | ganzes File | Generiert CLAUDE.md → Rename zu BuildAGENTS.ts | ⚠️ 1 Stunde | -| **algorithm.ts** | ~8 | `claude -p`, `claude session`, `~/.claude/` | ⚠️ 1 Stunde (in PR-02) | - -### Scan-Befehle - -```bash -# Alle Dateien mit problematischen Claude-Referenzen finden -grep -rn '\.claude/' .opencode/ --include="*.ts" --include="*.md" | grep -v node_modules -grep -rn 'claude -p' .opencode/ --include="*.ts" --include="*.sh" -grep -rn 'CLAUDE\.md' .opencode/ --include="*.md" --include="*.ts" -grep -rn 'claude session' .opencode/ --include="*.ts" -grep -rn 'projects/.*\.jsonl' .opencode/ --include="*.md" -``` - -### Wichtig: NICHT pauschal ersetzen - -```bash -# FALSCH — würde "Claude Opus" und "ClaudeResearcher" kaputt machen: -sed -i 's/claude/opencode/gi' ... - -# RICHTIG — nur spezifische Pfade und Muster: -sed -i '' 's|~/\.claude/|~/.opencode/|g' file.ts -sed -i '' 's|CLAUDE\.md|AGENTS.md|g' file.md -``` - ---- - -## Die 11 PRs — Vollständige Dateienübersicht - -Alle PRs gehen von `release/v3.0-complete` nach `main`. -CodeRabbit-Instruktion für alle PRs: **"Review für Korrektheit, OpenCode-Konformität, und verbleibende Claude→OpenCode Probleme"** - ---- - -### PR-01: PAI-Install — CLI Installer -**Branch:** `release/v3.0-pr01-installer` -**Dateien:** 18 (alle ADD — neuer Code) -**CodeRabbit-Fokus:** Sicherheit des Installers, Fehlerbehandlung - -``` -ADD PAI-Install/README.md -ADD PAI-Install/cli/quick-install.ts -ADD PAI-Install/engine/actions.ts -ADD PAI-Install/engine/build-opencode.ts -ADD PAI-Install/engine/config-gen.ts -ADD PAI-Install/engine/detect.ts -ADD PAI-Install/engine/index.ts -ADD PAI-Install/engine/migrate.ts -ADD PAI-Install/engine/provider-models.ts -ADD PAI-Install/engine/state.ts -ADD PAI-Install/engine/steps-fresh.ts -ADD PAI-Install/engine/steps-migrate.ts -ADD PAI-Install/engine/steps-update.ts -ADD PAI-Install/engine/types.ts -ADD PAI-Install/engine/update.ts -ADD PAI-Install/engine/validate.ts -ADD PAI-Install/install.sh -ADD PAI-Install/wrapper-template.sh -``` - -**Claude-Scan:** `PAI-Install/engine/provider-models.ts` — "claude-haiku", "claude-sonnet" = Modellnamen → BEIBEHALTEN - ---- - -### PR-02: PAI Core + Plugins + Agents (Claude→OpenCode Schwerpunkt) -**Branch:** `release/v3.0-pr02-core-claude-scan` -**Dateien:** 20 (alle MODIFY — CodeRabbit-Fixes aus WP-N die auf main fehlen) -**CodeRabbit-Fokus:** Claude→OpenCode Bereinigung, korrekte OpenCode-API-Nutzung - -``` -MODIFY .opencode/PAI/ACTIONS/lib/pipeline-runner.ts -MODIFY .opencode/PAI/ACTIONS/lib/runner.ts -MODIFY .opencode/PAI/ACTIONS/lib/runner.v2.ts -MODIFY .opencode/PAI/ACTIONS/pai.ts -MODIFY .opencode/PAI/Tools/BannerMatrix.ts -MODIFY .opencode/PAI/Tools/ExtractTranscript.ts -MODIFY .opencode/PAI/Tools/FailureCapture.ts -MODIFY .opencode/PAI/Tools/IntegrityMaintenance.ts -MODIFY .opencode/PAI/Tools/OpinionTracker.ts -MODIFY .opencode/PAI/Tools/PipelineMonitor.ts -MODIFY .opencode/PAI/Tools/RemoveBg.ts -MODIFY .opencode/PAI/Tools/SplitAndTranscribe.ts -MODIFY .opencode/PAI/Tools/TranscriptParser.ts -MODIFY .opencode/PAI/Tools/YouTubeApi.ts -MODIFY .opencode/PAI/Tools/algorithm.ts -MODIFY .opencode/PAI/Tools/pai.ts -MODIFY .opencode/agents/Algorithm.md -MODIFY .opencode/agents/Architect.md -MODIFY .opencode/agents/Artist.md -MODIFY .opencode/plugins/handlers/* (4 Handler-Updates) -``` - -**Claude-Scan Priorität HOCH:** `algorithm.ts`, `pai.ts`, `Algorithm.md` — enthalten wahrscheinlich `~/.claude/` Pfade und `claude -p` Calls - ---- - -### PR-03: Skill Reorg — Thinking/ + Security/ -**Branch:** `release/v3.0-pr03-skills-thinking-security` -**Dateien:** 143 (2 ADD, 141 RENAME) -**CodeRabbit-Fokus:** Korrekte Kategorie-Zuordnung, SKILL.md Vollständigkeit, interne Links - -Neue Verzeichnisse die entstehen: -``` -.opencode/skills/Thinking/ -├── BeCreative/ (von skills/BeCreative/) -├── Council/ (von skills/Council/) -├── FirstPrinciples/ (von skills/FirstPrinciples/) -├── IterativeDepth/ (von skills/IterativeDepth/) -├── RedTeam/ (von skills/RedTeam/) -├── Science/ (von skills/Science/) -├── WorldThreatModel/ (von skills/WorldThreatModelHarness/) -└── SKILL.md (NEU — Kategorie-Übersicht) - -.opencode/skills/Security/ -├── AnnualReports/ (von skills/AnnualReports/) -├── PromptInjection/ (bleibt, ggf. verschoben) -├── Recon/ (von skills/Recon/) -├── SECUpdates/ (von skills/SECUpdates/) -├── WebAssessment/ (von skills/WebAssessment/) -└── SKILL.md (NEU) -``` - -**Claude-Scan:** Science, RedTeam, BeCreative SKILL.md — prüfen ob interne Pfade noch auf `.claude/` zeigen - ---- - -### PR-04: Skill Reorg — Utilities/Fabric (Teil 1/3) -**Branch:** `release/v3.0-pr04-fabric-1` -**Dateien:** 130 (alle RENAME — Fabric Patterns A-Kn) -**CodeRabbit-Fokus:** Pfad-Konsistenz, keine gebrochenen Links - -Enthält: `skills/Fabric/Patterns/[A-Kn]*` → `skills/Utilities/Fabric/Patterns/[A-Kn]*` - -**Claude-Scan:** Fabric Patterns sind Upstream-Content — dort nach `~/.claude/` Pfaden suchen und ersetzen - ---- - -### PR-05: Skill Reorg — Utilities/Fabric (Teil 2/3) -**Branch:** `release/v3.0-pr05-fabric-2` -**Dateien:** 130 (alle RENAME — Fabric Patterns Ko-Pr) -**CodeRabbit-Fokus:** Pfad-Konsistenz - -Enthält: `skills/Fabric/Patterns/[Ko-Pr]*` → `skills/Utilities/Fabric/Patterns/[Ko-Pr]*` - ---- - -### PR-06: Skill Reorg — Utilities/Fabric (Teil 3/3) -**Branch:** `release/v3.0-pr06-fabric-3` -**Dateien:** 58 (alle RENAME — Fabric Patterns Ps-Z + Workflows + SKILL.md) -**CodeRabbit-Fokus:** Vollständigkeit (alle Patterns vorhanden?), SKILL.md korrekt - -Enthält: `skills/Fabric/Patterns/[Ps-Z]*` + `skills/Fabric/Workflows/*` + `skills/Fabric/SKILL.md` -→ alles in `skills/Utilities/Fabric/` - ---- - -### PR-07: Skill Reorg — Utilities (non-Fabric, Teil 1) -**Branch:** `release/v3.0-pr07-utilities-1` -**Dateien:** 130 (1 ADD, 129 RENAME) -**CodeRabbit-Fokus:** Interne Pfad-Referenzen in SKILL.md Dateien - -Enthält (alphabetisch, erste Hälfte): -``` -skills/Aphorisms/ → skills/Utilities/Aphorisms/ -skills/Browser/ → skills/Utilities/Browser/ -skills/Cloudflare/ → skills/Utilities/Cloudflare/ -skills/CreateCLI/ → skills/Utilities/CreateCLI/ -skills/CreateSkill/ → skills/Utilities/CreateSkill/ -skills/Documents/ → skills/Utilities/Documents/ -skills/Docx/ → skills/Utilities/Docx/ -+ skills/Utilities/Delegation/SKILL.md (NEU) -``` - ---- - -### PR-08: Skill Reorg — Utilities (Teil 2) + Scraping + Content + Investigation -**Branch:** `release/v3.0-pr08-utilities-2-scraping` -**Dateien:** 84 (2 ADD, 82 RENAME) -**CodeRabbit-Fokus:** Kategorie-SKILL.md Vollständigkeit, korrekte Skill-Zuordnung - -Enthält: -``` -skills/Evals/ → skills/Utilities/Evals/ -skills/PAIUpgrade/ → skills/Utilities/PAIUpgrade/ -skills/Parser/ → skills/Utilities/Parser/ -skills/Pdf/ → skills/Utilities/Pdf/ -skills/Pptx/ → skills/Utilities/Pptx/ -skills/Prompting/ → skills/Utilities/Prompting/ -skills/Xlsx/ → skills/Utilities/Xlsx/ -skills/BrightData/ → skills/Scraping/BrightData/ -skills/Apify/ → skills/Scraping/Apify/ (falls vorhanden) -skills/ExtractWisdom/ → skills/ContentAnalysis/ExtractWisdom/ -skills/OSINT/ → skills/Investigation/OSINT/ -skills/PrivateInvestigator/ → skills/Investigation/PrivateInvestigator/ -``` - ---- - -### PR-09: Neue Skills + Migration Tools -**Branch:** `release/v3.0-pr09-new-skills` -**Dateien:** 3 (alle ADD — komplett neu) -**CodeRabbit-Fokus:** Code-Qualität, Integration ins bestehende System - -``` -ADD .opencode/skills/OpenCodeSystem/SKILL.md (WP-N6: System Self-Awareness) -ADD .opencode/skills/CodeReview/SKILL.md (WP-N7: RoboRev Integration) -ADD Tools/migration-v2-to-v3.ts (Migrations-Script) -``` - -**Claude-Scan:** `migration-v2-to-v3.ts` — enthält wahrscheinlich `.claude/` Pfad-Referenzen (Migration erklärt den alten Pfad) - ---- - -### PR-10: Skill Cleanup — Deletions + Verbleibende Skill-Fixes -**Branch:** `release/v3.0-pr10-skill-cleanup` -**Dateien:** 146 (6 ADD, 24 MODIFY, 114 DELETE, 2 RENAME) -**CodeRabbit-Fokus:** Keine verwaisten Referenzen, saubere Löschungen - -**Die 114 Löschungen** sind die alten flachen Skill-Verzeichnisse die durch die Reorganisation (PR-03 bis PR-08) in neue Kategorien verschoben wurden: -``` -DELETE .opencode/skills/BeCreative/ (jetzt Thinking/BeCreative/) -DELETE .opencode/skills/Council/ (jetzt Thinking/Council/) -DELETE .opencode/skills/AnnualReports/ (jetzt Security/AnnualReports/) -DELETE .opencode/skills/BrightData/ (jetzt Scraping/BrightData/) -DELETE .opencode/skills/ExtractWisdom/ (jetzt ContentAnalysis/ExtractWisdom/) -DELETE .opencode/skills/OSINT/ (jetzt Investigation/OSINT/) -... (alle alten flachen Pfade) -``` - -**Die 24 MODIFYs** sind verbleibende Skill-Fixes (Media/, Agents/, andere). - -**Claude-Scan:** In den MODIFY-Dateien nach veralteten Pfaden suchen. - ---- - -### PR-11: Root Files + Docs + CI + Config (Claude→OpenCode Schwerpunkt) -**Branch:** `release/v3.0-pr11-root-docs` -**Dateien:** 45 (27 ADD, 17 MODIFY, 1 DELETE) -**CodeRabbit-Fokus:** Claude→OpenCode Bereinigung in README/INSTALL/docs/, CI-Korrektheit - -``` -MODIFY README.md (Claude→OpenCode Scan) -MODIFY INSTALL.md (Quick Start: CLI installer → install.sh) -MODIFY CHANGELOG.md -MODIFY CONTRIBUTING.md -MODIFY AGENTS.md -MODIFY biome.json -MODIFY package.json -MODIFY bun.lock -MODIFY .opencode/package.json -MODIFY .opencode/voice-server/server.ts -MODIFY .github/workflows/ci.yml -ADD .github/workflows/code-quality.yml -ADD .opencode/.env.example -ADD docs/architecture/adr/ADR-009 bis ADR-018 (10 neue ADRs) -ADD docs/OPTIMIZED-PR-PLAN.md -ADD docs/TODO-v3.0.md -ADD UPGRADE.md -ADD .prd/PRD-20260309-*.md (2 PRD-Dateien) -ADD .roborev.toml -DELETE .opencode/USER/README.md (nach dev-Reorganisation entfernt) -``` - -**Claude-Scan Priorität HOCH:** README.md, INSTALL.md, AGENTS.md, alle neuen ADRs - ---- - -### PR-12: Semantische Claude→OpenCode Bereinigung (NEU) -**Branch:** `release/v3.0-pr12-claude-semantic-cleanup` -**Dateien:** 18 (2× DELETE, 1× UPDATE, 2× REWRITE, 1× PARTIAL REWRITE, 7× EDIT, 1× RENAME+EDIT, 4× MECHANICAL — bereits auf main, identisch mit dev) -**CodeRabbit-Fokus:** Semantische Korrektheit der OpenCode-Beschreibungen, kein "Claude Code" als Plattformname - -> [!info] Detailplan -> Vollständige Datei-für-Datei-Analyse mit Aufwandschätzungen und PR-Zuordnung: `docs/epic/CLAUDE-CLEANUP-PLAN.md` - -**Warum eigener PR:** Die schwersten Claude-Dateien (THEHOOKSYSTEM.md 48 Treffer, TOOLS.md 25, MEMORYSYSTEM.md 20, SKILLSYSTEM.md 17) sind bereits identisch auf main und dev. Sie sind in keinem der 11 PRs enthalten. - -```text -DELETE .opencode/PAI/THEHOOKSYSTEM.md (Claude Code Version → LÖSCHEN) -DELETE .opencode/skills/PAI/SYSTEM/THEHOOKSYSTEM.md (obsolete Übergangsversion → LÖSCHEN) -UPDATE .opencode/skills/PAI/SYSTEM/THEPLUGINSYSTEM.md (existiert! → 27 Handler dokumentieren) -REWRITE .opencode/PAI/MEMORYSYSTEM.md (20 Treffer → OpenCode Session-DB) -REWRITE .opencode/PAI/TOOLS.md (25 Treffer → OpenCode-native Tools) -EDIT .opencode/PAI/SKILLSYSTEM.md (17 Treffer → AGENTS.md Referenzen) -EDIT .opencode/PAI/ACTIONS.md (7 Treffer) -EDIT .opencode/PAI/README.md (~5 Treffer) -EDIT .opencode/PAI/CLI.md (~5 Treffer, claude -p) -EDIT .opencode/PAI/PRDFORMAT.md (~5 Treffer) -EDIT .opencode/PAI/Algorithm/v3.7.0.md (~5 Treffer, claude -p) -RENAME .opencode/PAI/Tools/BuildCLAUDE.ts → .opencode/PAI/Tools/BuildAGENTS.ts -EDIT .opencode/PAI/Tools/SecretScan.ts (~3 Treffer, mechanisch) -EDIT .opencode/PAI/Tools/GetTranscript.ts (~3 Treffer, mechanisch) -EDIT .opencode/PAI/Tools/LoadSkillConfig.ts (~3 Treffer, mechanisch) -EDIT .opencode/PAI/Tools/ActivityParser.ts (~2 Treffer, mechanisch) -EDIT .opencode/plugins/lib/identity.ts (~1 Treffer, mechanisch) -EDIT .opencode/skills/Agents/Tools/LoadAgentContext.ts (claudeHome→opencodeHome) -``` - -**Geschätzter Aufwand: 8-12 Stunden** (davon 4-6h für 2 DELETEs + 1 UPDATE + 2 schwere Rewrites) -**Abhängigkeiten:** KEINE — kann parallel zu PR-01 bis PR-11 laufen -**Optionale Aufteilung:** PR-12a (mechanisch), PR-12b (schwere Rewrites), PR-12c (mittlere Edits) - ---- - -## Ausführungsreihenfolge und Abhängigkeiten - -``` -SCHRITT 0: main → dev backmergen (CodeRabbit-Fixes) - │ - ▼ -SCHRITT 0b: release/v3.0-complete erstellen von dev - │ - ▼ -SCHRITT 1: Claude→OpenCode mechanische Bereinigung (Kat 1+2) auf release/v3.0-complete - (Pfade + CLAUDE.md → AGENTS.md, dann committen — für PR-12 direkt auf main) - │ - ├──► PR-01 (Installer) ← unabhängig, sofort möglich - │ - ├──► PR-02 (Core + Claude Scan) ← Kat 1,2,3,7 in algorithm.ts - │ - ├──► PR-03 (Thinking + Security) ← muss VOR PR-10 (Deletions) - │ - ├──► PR-04, PR-05, PR-06 (Fabric) ← muss VOR PR-10 - │ (sequenziell, jeweils nach CodeRabbit-Approval) - │ - ├──► PR-07, PR-08 (Utilities + Rest) ← muss VOR PR-10 - │ - ├──► PR-09 (Neue Skills) ← unabhängig - │ - ├──► PR-10 (Deletions) ← muss NACH PR-03 bis PR-08 - │ ⚠️ Erst wenn alle Reorgs gemerged sind! - │ - ├──► PR-11 (Root + Docs) ← unabhängig, kann parallel - │ - └──► PR-12 (Semantische Claude→OpenCode Bereinigung) - ← UNABHÄNGIG — kann parallel zu ALLEN anderen PRs laufen - ← Arbeitet direkt auf main (Dateien identisch main=dev) - ← Enthält 2 DELETEs (THEHOOKSYSTEM×2) + 1 UPDATE (THEPLUGINSYSTEM) + 2 Rewrites - ← Optional aufgeteilt in PR-12a/b/c -``` - -
-Detailliertes Abhängigkeits-Diagramm (Mermaid) - -```mermaid -flowchart TD - S0["SCHRITT 0\nCodeRabbit-Fixes\nbackmergen main→dev"] - S0b["SCHRITT 0b\nrelease/v3.0-complete\nvon dev erstellen"] - S1["SCHRITT 1\nKat 1+2 mechanische\nBereinigung auf\nrelease/v3.0-complete"] - - PR01["PR-01\nInstaller"] - PR02["PR-02\nCore + Claude Scan"] - PR03["PR-03\nThinking + Security"] - PR04["PR-04\nFabric Teil 1"] - PR05["PR-05\nFabric Teil 2"] - PR06["PR-06\nFabric Teil 3"] - PR07["PR-07\nUtilities"] - PR08["PR-08\nRest"] - PR09["PR-09\nNeue Skills"] - PR10["PR-10\nDeletions\n⚠️ muss NACH\nPR-03..PR-08"] - PR11["PR-11\nRoot + Docs"] - PR12["PR-12\nSemantische\nClaude→OpenCode\nBereinigung"] - PR12a["PR-12a\nmechanisch\n(optional)"] - PR12b["PR-12b\nDELETE+REWRITE\n(optional)"] - PR12c["PR-12c\nEdits+Rename\n(optional)"] - - S0 --> S0b --> S1 - S1 --> PR01 - S1 --> PR02 - S1 --> PR03 - S1 --> PR04 --> PR05 --> PR06 - S1 --> PR07 - S1 --> PR08 - S1 --> PR09 - PR03 --> PR10 - PR04 --> PR10 - PR05 --> PR10 - PR06 --> PR10 - PR07 --> PR10 - PR08 --> PR10 - S1 --> PR11 - S0 --> PR12 - PR12 --> PR12a - PR12 --> PR12b - PR12 --> PR12c - - style PR12 fill:#f0f4ff,stroke:#4f6ef7 - style PR10 fill:#fff3cd,stroke:#e6a817 - style PR12a stroke-dasharray: 5 5 - style PR12b stroke-dasharray: 5 5 - style PR12c stroke-dasharray: 5 5 -``` - -
- -**Kritische Regel für PR-10:** -PR-10 enthält die Löschung der alten flachen Skill-Pfade. Diese darf erst gemerged werden, wenn PR-03, PR-04, PR-05, PR-06, PR-07, PR-08 alle bereits auf `main` sind. Sonst werden Dateien gelöscht bevor ihre neuen Pfade existieren. - -**PR-12 Parallelisierung:** -PR-12 hat KEINE Abhängigkeiten zu PR-01 bis PR-11 — die betroffenen Dateien sind bereits identisch auf main und dev. PR-12 kann jederzeit gestartet werden und parallel zu allen anderen PRs laufen. - ---- - -## CodeRabbit-Konfiguration - -Für jeden PR folgende Instruktion an CodeRabbit mitgeben: - -``` -Review this PR as part of PAI-OpenCode v3.0 completion. -Focus areas: -1. Claude→OpenCode: Flag any remaining ~/.claude/ paths, 'claude -p' calls, - or incorrect references to "Claude Code" as platform name. - KEEP: claude model names (claude-opus, claude-sonnet), ClaudeResearcher agent, - migration docs that explain the difference. -2. Path integrity: Renamed files should have consistent internal references. -3. Code quality: TypeScript strict mode, no unused imports, proper error handling. -4. OpenCode-native patterns: Use Task tool (not claude -p), ~/.opencode/ paths. -``` - ---- - -## Checkliste: Definition of Done für v3.0 - -Vor dem v3.0.0 Release-Tag müssen ALLE 12 PRs gemerged sein: - -- [ ] PR-01: PAI-Install auf main -- [ ] PR-02: PAI Core + Claude Scan auf main -- [ ] PR-03: Thinking + Security Reorg auf main -- [ ] PR-04: Fabric Teil 1 auf main -- [ ] PR-05: Fabric Teil 2 auf main -- [ ] PR-06: Fabric Teil 3 auf main -- [ ] PR-07: Utilities 1 auf main -- [ ] PR-08: Utilities 2 + Scraping auf main -- [ ] PR-09: Neue Skills auf main -- [ ] PR-10: Deletions (ERST nach PR-03 bis PR-08) auf main -- [ ] PR-11: Root + Docs auf main -- [ ] PR-12: Semantische Claude→OpenCode Bereinigung auf main -- [ ] `dev` und `main` sind identisch (git diff = 0) -- [ ] Kein `~/.claude/` Pfad in codebase (außer Migration-Docs + PAI-Install Detection) -- [ ] Kein `CLAUDE.md` als Datei-Referenz (außer Migration-Docs) -- [ ] Kein `claude -p` Call in ausführbarem Code -- [ ] Kein `claude session` in ausführbarem Code -- [ ] Beide THEHOOKSYSTEM.md gelöscht (`.opencode/PAI/` + `.opencode/skills/PAI/SYSTEM/`) -- [ ] THEPLUGINSYSTEM.md aktualisiert (27 Handler, Stand 2026-03) -- [ ] MEMORYSYSTEM.md referenziert OpenCode Session-DB -- [ ] BuildCLAUDE.ts umbenannt zu BuildAGENTS.ts -- [ ] `bun test` auf main: grün -- [ ] `biome check .` auf main: keine Fehler -- [ ] CHANGELOG.md auf v3.0.0 aktualisiert -- [x] README.md: Quick Start zeigt `bash PAI-Install/install.sh` (without --cli flag) -- [ ] v3.0.0 Tag erstellt und gepusht - ---- - -## Statistik - -| Metrik | Wert | -|--------|------| -| Gesamt-Dateien zu übertragen | 935 | -| + Semantische Cleanup-Dateien (PR-12) | +18 (bereits auf main) | -| Neue Dateien (ADD) | 87 | -| Geänderte Dateien (MOD) | 61 + 18 (PR-12) | -| Gelöschte Dateien (DEL) | 115 | -| Umbenannte Dateien (RENAME) | 672 + 1 (BuildCLAUDE→BuildAGENTS) | -| Anzahl PRs | **12** (11 thematisch + 1 semantisch) | -| Max Dateien pro PR | 146 (PR-10) | -| CodeRabbit-Capacity | 150 Dateien/PR | -| Dateien mit Claude-Erwähnungen | 245 | -| Davon semantisch prüfungspflichtig | ~60 | -| Davon in PR-12 (schwere Rewrites) | 18 (2× DELETE, 1× UPDATE, 2× REWRITE, 1× PARTIAL REWRITE, 7× EDIT, 1× RENAME+EDIT, 4× MECHANICAL) | -| Davon Beibehalten (Modellnamen etc.) | ~185 | -| Claude-Cleanup Kategorien | 8 | -| Geschätzter Cleanup-Aufwand | 10-14 Stunden | - ---- - -*Plan erstellt: 2026-03-13* -*Repository: Steffen025/pai-opencode* -*Analyse-Basis: git diff origin/main origin/dev (935 Dateien)* diff --git a/docs/epic/V3.0-RUNBOOK.md b/docs/epic/V3.0-RUNBOOK.md deleted file mode 100644 index c8d718cc..00000000 --- a/docs/epic/V3.0-RUNBOOK.md +++ /dev/null @@ -1,1433 +0,0 @@ -# PAI-OpenCode v3.0 — Vollständiges Ausführungshandbuch (Runbook) - -> **Zweck:** Schritt-für-Schritt Anleitung die jede KI-Session ohne Vorwissen exakt befolgen kann. -> Jeder Schritt enthält: (1) Exakte Git-Befehle, (2) Verifikation, (3) Entscheidungsregeln bei Problemen. -> -> **Repository:** `Steffen025/pai-opencode` -> **Arbeitsverzeichnis:** `/Users/steffen/workspace/github.com/Steffen025/pai-opencode` -> **Erstellt:** 2026-03-13 -> **Status:** READY TO EXECUTE - ---- - -## WARNUNG: Lies das VOLLSTÄNDIG bevor du irgendwas ausführst - -1. **Führe KEINEN Schritt aus ohne den vorherigen abgeschlossen zu haben** -2. **Pushe NICHTS ohne Steffens explizites OK** -3. **Bei Merge-Konflikten: STOPPE und frage Steffen** -4. **Wenn etwas unklar ist: STOPPE und frage Steffen** -5. **Checke nach JEDEM Schritt die Verifikation** - ---- - -## Glossar - -| Begriff | Bedeutung | -|---------|-----------| -| `dev` | Development-Branch mit der vollständigen v3.0 Arbeit (19 WP-PRs) | -| `main` | Production-Branch — hat nur ~316 von 935 Dateien | -| `release/v3.0-complete` | Integration-Branch den wir erstellen werden | -| `release/v3.0-pr12-*` | PR-12 Branch — geht direkt von main ab (nicht vom Integration-Branch!) | -| CodeRabbit | AI-Code-Review-Bot auf GitHub, reviewed PRs automatisch, max 150 Dateien | -| Claude→OpenCode | Bereinigung von `.claude/` Pfaden und Claude-Code-Referenzen (8 Kategorien) | -| PR-12 | Semantische Claude→OpenCode Bereinigung — läuft PARALLEL zu PR-01 bis PR-11 | - ---- - -## PHASE 0: Vorbereitung - -### Schritt 0.1: Repository auf aktuellen Stand bringen - -```bash -cd /Users/steffen/workspace/github.com/Steffen025/pai-opencode -git fetch origin -git fetch upstream -git status -``` - -**Verifikation:** -- `git status` zeigt: `On branch main` oder `release/m4-media-skills` -- Keine uncommitted changes (sonst erst committen oder stashen) - -**Falls uncommitted changes existieren:** -```bash -git stash save "work in progress before v3.0 completion" -``` - ---- - -### Schritt 0.2: CodeRabbit-Fixes von main zurück nach dev mergen - -**Warum:** main hat 49 Commits die dev nicht hat (Bug-Fixes aus den 4 Release-PRs). Dev muss diese haben bevor wir davon arbeiten. - -```bash -git checkout dev -git pull origin dev -git merge origin/main --no-ff -m "chore: merge CodeRabbit fixes from main back into dev" -``` - -**WENN Merge-Konflikte auftreten:** - -Die Konflikte werden in diesen Dateien erwartet (alle `.opencode/PAI/Tools/*.ts` und `.opencode/plugins/handlers/*.ts`): - -**Entscheidungsregel für JEDEN Konflikt:** -1. Öffne die Datei mit dem Konflikt -2. Schaue die `git log --oneline origin/main -- ` an -3. Wenn der main-Commit `fix: CodeRabbit` oder `fix(lint)` oder `fix(ci)` enthält → **main-Version nehmen** (das ist ein echter Bug-Fix) -4. Wenn der dev-Commit ein Feature ist (z.B. `feat(wp-n...)`) → **dev-Version nehmen** -5. Wenn BEIDE echte Änderungen sind → **beide Änderungen manuell kombinieren** - -```bash -# Konflikte auflösen, dann: -git add . -git commit --no-edit -``` - -**Verifikation nach Merge:** -```bash -# Prüfe ob merge sauber ist: -git log --oneline -5 -# Sollte zeigen: "chore: merge CodeRabbit fixes from main back into dev" - -# Prüfe ob die CodeRabbit-Fixes auf dev sind: -git log --oneline dev --not origin/dev | head -5 -# Sollte die Merge-Commits zeigen -``` - -**Noch NICHT pushen.** Erst Steffens OK einholen. - -```bash -# ERST NACH STEFFENS OK: -git push origin dev -``` - ---- - -### Schritt 0.3: Integration-Branch erstellen - -```bash -git checkout dev -git pull origin dev -git checkout -b release/v3.0-complete -``` - -**Verifikation:** -```bash -git branch --show-current -# Muss zeigen: release/v3.0-complete - -git log --oneline -3 -# Muss identisch mit dev sein -``` - ---- - -### Schritt 0.4: Plan-Dateien auf den Integration-Branch committen - -**Warum hier:** Der Plan + Dateilisten beschreiben exakt den aktuellen Diff main↔dev. -Sie sollen auf `release/v3.0-complete` landen, von wo sie über PR-11 nach `main` kommen. -`dev` wird NICHT verändert — die Dateilisten bleiben dadurch exakt korrekt. - -```bash -# Sicherstellen dass wir auf dem richtigen Branch sind: -git branch --show-current -# Muss zeigen: release/v3.0-complete - -# Die Plan-Dateien sind lokal schon vorhanden (in diesem Session erstellt): -ls docs/epic/V3.0-COMPLETION-PLAN.md # Muss existieren -ls docs/epic/V3.0-RUNBOOK.md # Muss existieren -ls docs/epic/pr-filelists/ # Muss 11 Dateilisten enthalten - -git add docs/epic/V3.0-COMPLETION-PLAN.md -git add docs/epic/V3.0-RUNBOOK.md -git add docs/epic/pr-filelists/ - -git commit -m "docs(epic): v3.0 completion plan + runbook + PR file lists - -Plan for complete dev→main transfer with CodeRabbit quality gate: -- V3.0-COMPLETION-PLAN.md: Overview, strategy, PR summary table -- V3.0-RUNBOOK.md: Step-by-step execution guide (979 lines) - - Exact git commands for every step - - PR body texts ready for copy-paste - - Verification after every step - - Decision table for edge cases -- pr-filelists/: Exact file list for each of the 11 PRs - (based on git diff origin/main origin/dev at 2026-03-13) - -This plan covers 935 files in 12 PRs (11 diff-based + 1 semantic cleanup) all under 150 files (CodeRabbit limit). -Includes Claude→OpenCode cleanup as integral part of the transfer." -``` - -**ERST NACH STEFFENS OK pushen:** -```bash -git push -u origin release/v3.0-complete -``` - ---- - -## ⚡ ÜBERGABE AN GÜNSTIGERES MODELL - -**Ab hier wird mit einem günstigeren, schnelleren Modell weitergearbeitet.** - -Der Plan ist vollständig dokumentiert. Eine neue Session braucht nur: - -1. **Dieses Runbook lesen:** `docs/epic/V3.0-RUNBOOK.md` -2. **Den Übersichtsplan lesen:** `docs/epic/V3.0-COMPLETION-PLAN.md` -3. **Die Dateilisten kennen:** `docs/epic/pr-filelists/PR-XX-files.txt` -4. **Mit Phase 1 beginnen:** Claude→OpenCode Bereinigung auf `release/v3.0-complete` - -**Was die neue Session NICHT braucht:** -- Den gesamten Kontext dieser Session -- Die Analyse-Geschichte (forensische Analyse, Bestandsaufnahme etc.) -- Nur: Repository-Zugriff + dieses Runbook - -**Empfohlenes Modell für Ausführung:** Kimi K2.5 oder GLM 4.7 (via Zen) — schnell, günstig, mechanische Git-Operationen, CodeRabbit-Fixes. Kein Bedarf an Opus-Level Reasoning. - -**Startprompt für neue Session:** -``` -Lies docs/epic/V3.0-RUNBOOK.md vollständig. -Dann führe Phase 1 (Claude→OpenCode Bereinigung) auf Branch release/v3.0-complete durch. -Frage vor jedem Push nach Steffens OK. -``` - ---- - -## PHASE 1: Claude→OpenCode Bereinigung - -### Schritt 1.1: Scan durchführen - -Führe diese Befehle aus und speichere die Ergebnisse: - -```bash -echo "=== .claude/ Pfad-Referenzen ===" -grep -rn '\.claude/' .opencode/ --include="*.ts" --include="*.md" --include="*.json" --include="*.sh" | grep -v node_modules | grep -v '.git/' > /tmp/claude-scan-paths.txt -wc -l /tmp/claude-scan-paths.txt - -echo "=== claude -p CLI-Calls ===" -grep -rn 'claude -p' .opencode/ --include="*.ts" --include="*.sh" > /tmp/claude-scan-cli.txt -wc -l /tmp/claude-scan-cli.txt - -echo "=== CLAUDE.md Referenzen ===" -grep -rn 'CLAUDE\.md' .opencode/ --include="*.md" --include="*.ts" > /tmp/claude-scan-claudemd.txt -wc -l /tmp/claude-scan-claudemd.txt -``` - -### Schritt 1.2: Pfade ersetzen (mechanisch) - -**NUR `~/.claude/` Pfade ersetzen — NICHT das Wort "Claude" generell!** - -```bash -# Trockenlauf (zeigt was sich ändern WÜRDE, ändert nichts): -grep -rn '~/\.claude/' .opencode/ --include="*.ts" --include="*.md" --include="*.json" --include="*.sh" | grep -v node_modules - -# Wenn die Trockenlauf-Ergebnisse sinnvoll aussehen: -find .opencode/ -type f \( -name "*.ts" -o -name "*.md" -o -name "*.json" -o -name "*.sh" \) -not -path "*/node_modules/*" -exec sed -i '' 's|~/\.claude/|~/.opencode/|g' {} + -``` - -**AUSNAHMEN — diese Dateien NICHT ändern:** -- `.opencode/PAISYSTEM/PAI-TO-OPENCODE-MAPPING.md` (erklärt den Unterschied) -- `docs/MIGRATION.md` (erklärt Migration von Claude Code) -- `Tools/pai-to-opencode-converter.ts` (Tool das die Konvertierung macht) -- `docs/UPSTREAM-SYNC-PROCESS.md` (erklärt Upstream) - -```bash -# Diese Dateien zurücksetzen falls sie versehentlich geändert wurden: -git checkout -- .opencode/PAISYSTEM/PAI-TO-OPENCODE-MAPPING.md docs/MIGRATION.md docs/UPSTREAM-SYNC-PROCESS.md 2>/dev/null -``` - -### Schritt 1.3: CLAUDE.md → AGENTS.md Referenzen - -```bash -# Trockenlauf: -grep -rn 'CLAUDE\.md' .opencode/ --include="*.md" --include="*.ts" | grep -v node_modules - -# Ersetzen: -find .opencode/ -type f \( -name "*.ts" -o -name "*.md" \) -not -path "*/node_modules/*" -exec sed -i '' 's|CLAUDE\.md|AGENTS.md|g' {} + -``` - -### Schritt 1.4: `claude -p` CLI-Calls - -```bash -# Finde alle Stellen: -grep -rn 'claude -p' .opencode/ --include="*.ts" --include="*.sh" | grep -v node_modules -``` - -**Für JEDE gefundene Stelle: Manuell prüfen und ersetzen.** -- Wenn es ein `Bash: claude -p "prompt"` Pattern ist → ersetze mit OpenCode Task-Tool Kommentar -- Wenn es in einem Kommentar/Beispiel steht → ändere zu `opencode` oder lass es als historischen Verweis - -### Schritt 1.5: Committen - -```bash -git add . -git diff --cached --stat # Prüfe was sich ändert -git commit -m "chore: Claude→OpenCode path and reference cleanup - -- Replace ~/.claude/ paths with ~/.opencode/ -- Replace CLAUDE.md references with AGENTS.md -- Replace claude -p CLI calls with OpenCode equivalents -- Preserve: claude model names, migration docs, mapping docs" -``` - -**Verifikation:** -```bash -# Es sollten KEINE ~/.claude/ Pfade mehr in .ts/.md Dateien sein -# (außer den explizit ausgenommenen Migration/Mapping-Dateien): -grep -rn '~/\.claude/' .opencode/ --include="*.ts" --include="*.md" | grep -v node_modules | grep -v MAPPING | grep -v MIGRATION | grep -v UPSTREAM -# Sollte 0 Ergebnisse haben oder nur bewusst belassene historische Referenzen -``` - -### Schritt 1.6: Auch Root-Dateien und PAI-Install scannen - -```bash -# PAI-Install hat eigene Claude-Referenzen (provider-models.ts etc.) -grep -rn '\.claude/' PAI-Install/ --include="*.ts" --include="*.sh" -# Diese sollten KEINE ~/.claude/ Pfade haben — PAI-Install ist neu geschrieben - -# Root-Dateien: -grep -n '\.claude/' README.md INSTALL.md CHANGELOG.md CONTRIBUTING.md AGENTS.md 2>/dev/null -``` - -Falls Funde: gleich fixen und committen. - -### Schritt 1.7: "Claude Code" Plattformname (Kategorie 4 — SEMANTISCH) - -**ACHTUNG: Nicht mechanisch ersetzen! Jede Stelle manuell prüfen.** - -```bash -# Finde alle "Claude Code" Plattform-Referenzen (NICHT Modellnamen!): -grep -rn 'Claude Code' .opencode/ --include="*.md" --include="*.ts" | grep -v node_modules | grep -v 'claude-opus\|claude-sonnet\|claude-haiku\|ClaudeResearcher\|MIGRATION\|MAPPING\|UPSTREAM\|CHANGELOG' -``` - -**Entscheidungsregel für JEDE Stelle:** - -| Kontext | Aktion | -|---------|--------| -| "Claude Code hooks system" | → Umschreiben auf "OpenCode Plugin-System" | -| "Claude Code sessions" | → Umschreiben auf "OpenCode Sessions" | -| "Claude Code built-in tool" | → Prüfen ob Tool in OpenCode existiert, ggf. anpassen | -| "Install Claude Code" | → "Install OpenCode" | -| "Claude Code SDK" | → "OpenCode SDK" oder "Task tool" | -| "Claude Code agent" / "Claude Code model" | → BEIBEHALTEN (Modellname) | -| In Migration-Docs | → BEIBEHALTEN (erklärt den Unterschied) | - -**Die schwersten Fälle werden in PR-12 behandelt** (2× THEHOOKSYSTEM.md löschen + THEPLUGINSYSTEM.md updaten, MEMORYSYSTEM.md, TOOLS.md, SKILLSYSTEM.md, ACTIONS.md, README.md). Hier nur leichte Fälle in den PR-02-Dateien fixen. - -### Schritt 1.8: `BuildCLAUDE.ts` Entscheidung (Kategorie 5) - -**Datei:** `.opencode/PAI/Tools/BuildCLAUDE.ts` - -**Empfohlene Aktion:** Rename zu `BuildAGENTS.ts` + interne Referenzen anpassen. - -```bash -# Prüfe interne Referenzen auf CLAUDE.md: -grep -n 'CLAUDE' .opencode/PAI/Tools/BuildCLAUDE.ts | head -20 - -# Wenn Rename gewählt (Option A): -git mv .opencode/PAI/Tools/BuildCLAUDE.ts .opencode/PAI/Tools/BuildAGENTS.ts -# Dann interne Referenzen in der Datei ändern: -# - Alle "CLAUDE.md" → "AGENTS.md" -# - Alle "~/.claude/" → "~/.opencode/" -# - Funktionsname/Beschreibung anpassen -``` - -**Wird in PR-12 durchgeführt** — nicht hier im Phase-1-Cleanup auf dem Integration-Branch. - -### Schritt 1.9: `claudeHome` Variable (Kategorie 6 — TRIVIAL) - -```bash -# Finde und fixe die Variable: -grep -n 'claudeHome' .opencode/skills/Agents/Tools/LoadAgentContext.ts -``` - -**Ersetze:** -```bash -sed -i '' 's/claudeHome/opencodeHome/g' .opencode/skills/Agents/Tools/LoadAgentContext.ts -``` - -**Wird in PR-12 durchgeführt** — Datei ist identisch main=dev. - -### Schritt 1.10: "claude session" Referenzen (Kategorie 7) - -```bash -# Finde alle Stellen: -grep -rn 'claude session' .opencode/ --include="*.ts" | grep -v node_modules -``` - -**Erwartete Funde:** 3 Stellen in `algorithm.ts` - -**Für JEDE gefundene Stelle:** Manuell prüfen und ersetzen: -- Wenn es eine `claude session list` API ist → `// OpenCode: Use session_registry custom tool` -- Wenn es `claude session resume` ist → `// OpenCode: Sessions managed via session_registry` -- Code-Pfade die `claude session` aufrufen → Auskommentieren oder durch OpenCode-Äquivalent ersetzen - -**Wird in PR-02 durchgeführt** — `algorithm.ts` ist in der PR-02-MODIFY-Liste. - -### Schritt 1.11: `projects/{uuid}.jsonl` Transcript-Referenzen (Kategorie 8) - -```bash -# Finde JSONL-Transcript-Referenzen: -grep -rn 'projects/.*\.jsonl\|projects/{.*}\.jsonl\|\.jsonl' .opencode/ --include="*.md" | grep -v node_modules | grep -v CHANGELOG -``` - -**Erwartete Funde:** ~5 Stellen in MEMORYSYSTEM.md - -**Lösung:** Beschreibungen die `projects/{uuid}.jsonl` erwähnen durch OpenCode-Session-DB-Referenz ersetzen: -- `~/.claude/projects/{uuid}.jsonl` → `~/.opencode/projects/{project-hash}/` (SQLite DB) -- "Claude Code speichert Sessions als JSONL" → "OpenCode speichert Sessions in SQLite" - -**Wird in PR-12 durchgeführt** — MEMORYSYSTEM.md ist identisch main=dev. - -### Schritt 1.12: Commit Phase 1 - -```bash -git add . -git diff --cached --stat # Prüfe was sich ändert -git commit -m "chore: Claude→OpenCode path and reference cleanup (8 categories) - -- Replace ~/.claude/ paths with ~/.opencode/ (Kat 1) -- Replace CLAUDE.md references with AGENTS.md (Kat 2) -- Replace claude -p CLI calls with OpenCode equivalents (Kat 3) -- Flag 'Claude Code' platform references for semantic review (Kat 4) -- Note BuildCLAUDE.ts for rename in PR-12 (Kat 5) -- Note claudeHome variable for rename in PR-12 (Kat 6) -- Flag 'claude session' references for PR-02 fix (Kat 7) -- Flag projects/{uuid}.jsonl refs for PR-12 fix (Kat 8) -- Preserve: claude model names, migration docs, mapping docs" -``` - -**Verifikation:** -```bash -# Es sollten KEINE ~/.claude/ Pfade mehr in .ts/.md Dateien sein -# (außer den explizit ausgenommenen Migration/Mapping-Dateien -# und den PR-12-Dateien die separat behandelt werden): -grep -rn '~/\.claude/' .opencode/ --include="*.ts" --include="*.md" | grep -v node_modules | grep -v MAPPING | grep -v MIGRATION | grep -v UPSTREAM | grep -v THEHOOKSYSTEM | grep -v MEMORYSYSTEM | grep -v TOOLS.md | grep -v SKILLSYSTEM | grep -v ACTIONS.md | grep -v BuildCLAUDE | grep -v SecretScan | grep -v GetTranscript | grep -v LoadSkillConfig | grep -v ActivityParser | grep -v identity.ts | grep -v LoadAgentContext -# Sollte 0 Ergebnisse haben - -# Vollständiger 8-Kategorien-Check: -echo "=== Kat 1: ~/.claude/ Pfade ===" -grep -rn '~/\.claude/' .opencode/ --include="*.ts" --include="*.md" | grep -v node_modules | wc -l -echo "=== Kat 2: CLAUDE.md Referenzen ===" -grep -rn 'CLAUDE\.md' .opencode/ --include="*.ts" --include="*.md" | grep -v node_modules | wc -l -echo "=== Kat 3: claude -p Calls ===" -grep -rn 'claude -p' .opencode/ --include="*.ts" --include="*.sh" | grep -v node_modules | wc -l -echo "=== Kat 7: claude session ===" -grep -rn 'claude session' .opencode/ --include="*.ts" | grep -v node_modules | wc -l -``` - -### Schritt 1.13: Push des Integration-Branch - -```bash -# ERST NACH STEFFENS OK: -git push -u origin release/v3.0-complete -``` - ---- - -## PHASE 2: Die 11 Pull Requests - -### ALLGEMEINE ANLEITUNG für JEDEN PR - -Jeder PR folgt exakt diesem Muster. Weiche NICHT davon ab. - -```bash -# 1. Starte vom Integration-Branch -git checkout release/v3.0-complete -git pull origin release/v3.0-complete - -# 2. Erstelle den PR-Branch -git checkout -b release/v3.0-prNN-THEMA - -# 3. Hole NUR die Dateien dieses PRs von release/v3.0-complete -# (Befehle stehen beim jeweiligen PR unten) - -# 4. Committe -git add -git commit -m "COMMIT-MESSAGE" - -# 5. Push -git push -u origin release/v3.0-prNN-THEMA - -# 6. Erstelle PR auf GitHub -GH_HOST=github.com gh pr create \ - --repo Steffen025/pai-opencode \ - --base main \ - --head release/v3.0-prNN-THEMA \ - --title "TITEL" \ - --body "BODY" - -# 7. Warte auf CodeRabbit-Review -# 8. Fixe CodeRabbit-Findings (neue Commits auf dem PR-Branch) -# 9. Merge ERST nach Steffens OK -# 10. Nach Merge: gehe zum nächsten PR -``` - -**WICHTIG:** Jeder PR-Branch wird von `release/v3.0-complete` erstellt, NICHT von main. Die PRs gehen NACH main. Das heißt der PR zeigt den Diff zwischen `release/v3.0-complete` und `main` — aber NUR für die Dateien dieses PRs. - -**Technik um nur bestimmte Dateien in einen PR zu packen:** - -```bash -# Von release/v3.0-complete ausgehend: -git checkout release/v3.0-complete -git checkout -b release/v3.0-prNN-thema main # Branch basiert auf main -# Dann hole selektiv Dateien vom Integration-Branch: -git checkout release/v3.0-complete -- pfad/zu/datei1 pfad/zu/datei2 -git commit -m "message" -``` - -**Für RENAME-Operationen (Skill-Reorganisation):** -```bash -# Alte Datei löschen + neue Datei von release/v3.0-complete holen: -git rm pfad/alt/datei.md -git checkout release/v3.0-complete -- pfad/neu/datei.md -``` - -**Für DELETE-Operationen:** -```bash -git rm pfad/zu/datei.md -``` - ---- - -### PR-01: PAI-Install — CLI Installer (GUI removed) - -**Branch:** `release/v3.0-pr01-installer` -**Dateien:** 46 (alle ADD) -**Dateiliste:** `docs/epic/pr-filelists/PR-01-files.txt` - -**Git-Befehle:** -```bash -git checkout release/v3.0-complete -git checkout -b release/v3.0-pr01-installer main - -# Hole alle PAI-Install Dateien: -git checkout release/v3.0-complete -- PAI-Install/ - -git add PAI-Install/ -git commit -m "feat: PAI-Install — CLI installer - -Port of PAI installer adapted for OpenCode (CLI-only): -- 7-step fresh install: Welcome, Prerequisites, Build, Provider, Identity, Voice, Install -- 5-step migration flow: Detect v2 → Backup → Migrate → Binary → Done -- 4 provider presets: Anthropic, Zen (recommended), OpenRouter, OpenAI -- install.sh bootstrap script runs the CLI installer by default" - -git push -u origin release/v3.0-pr01-installer -``` - -**PR erstellen:** -```bash -GH_HOST=github.com gh pr create \ - --repo Steffen025/pai-opencode \ - --base main \ - --head release/v3.0-pr01-installer \ - --title "v3.0 (1/11): PAI-Install — CLI Installer" \ - --body "$(cat <<'EOF' -## Summary -Port of PAI installer, adapted for OpenCode (CLI-only). - -## What's included -- `PAI-Install/` directory (46 new files) -- CLI-only installer entrypoint (`PAI-Install/cli/quick-install.ts`) -- 7-step fresh install flow + 5-step migration flow -- 4 provider presets: Anthropic, Zen, OpenRouter, OpenAI - -## CodeRabbit Instructions -Review for: -1. **Security**: Shell script safety, no arbitrary code execution -2. **Claude→OpenCode**: Flag any `~/.claude/` paths or `claude -p` calls -3. **Code quality**: TypeScript strict, error handling, input validation -4. **KEEP claude model names** (claude-haiku, claude-sonnet) — these are correct AI model identifiers -EOF -)" -``` - -**Verifikation nach Merge:** -```bash -git checkout main && git pull -ls PAI-Install/install.sh # Muss existieren -ls PAI-Install/engine/steps-fresh.ts # Muss existieren -``` - ---- - -### PR-02: PAI Core + Plugins + Agents (Claude→OpenCode Scan) - -**Branch:** `release/v3.0-pr02-core-claude-scan` -**Dateien:** 20 (alle MODIFY) -**Dateiliste:** `docs/epic/pr-filelists/PR-02-files.txt` - -**Git-Befehle:** -```bash -git checkout release/v3.0-complete -git checkout -b release/v3.0-pr02-core-claude-scan main - -# Hole die 20 geänderten Dateien einzeln: -git checkout release/v3.0-complete -- \ - .opencode/PAI/ACTIONS/lib/pipeline-runner.ts \ - .opencode/PAI/ACTIONS/lib/runner.ts \ - .opencode/PAI/ACTIONS/lib/runner.v2.ts \ - .opencode/PAI/ACTIONS/pai.ts \ - .opencode/PAI/Tools/BannerMatrix.ts \ - .opencode/PAI/Tools/ExtractTranscript.ts \ - .opencode/PAI/Tools/FailureCapture.ts \ - .opencode/PAI/Tools/IntegrityMaintenance.ts \ - .opencode/PAI/Tools/OpinionTracker.ts \ - .opencode/PAI/Tools/PipelineMonitor.ts \ - .opencode/PAI/Tools/RemoveBg.ts \ - .opencode/PAI/Tools/SplitAndTranscribe.ts \ - .opencode/PAI/Tools/TranscriptParser.ts \ - .opencode/PAI/Tools/YouTubeApi.ts \ - .opencode/PAI/Tools/algorithm.ts \ - .opencode/PAI/Tools/pai.ts - -# Hole die Dateiliste aus PR-02-files.txt für die restlichen Dateien: -# (plugins, agents, commands — lese die exakte Liste) -cat docs/epic/pr-filelists/PR-02-files.txt - -git add . -git commit -m "fix: WP-N improvements for PAI Core, Plugins, Agents - -Applies dev-branch improvements not included in release PRs #62-65: -- PAI Tools: WP-N2 compaction intelligence, WP-N3 algorithm awareness fixes -- Actions: runner.ts/runner.v2.ts WP-N improvements -- Plugins: handler updates from WP-N sessions -- Claude→OpenCode: path and reference cleanup included" - -git push -u origin release/v3.0-pr02-core-claude-scan -``` - -**PR erstellen:** -```bash -GH_HOST=github.com gh pr create \ - --repo Steffen025/pai-opencode \ - --base main \ - --head release/v3.0-pr02-core-claude-scan \ - --title "v3.0 (2/11): PAI Core + Plugins + Agents — WP-N improvements + Claude→OpenCode" \ - --body "$(cat <<'EOF' -## Summary -Applies dev-branch WP-N improvements that were not included in release PRs #62-65. - -## What's included -- 16 PAI Tool improvements (algorithm.ts, ExtractTranscript.ts, FailureCapture.ts, etc.) -- 4 Plugin handler updates -- Agent definition updates -- Claude→OpenCode path cleanup in modified files - -## CodeRabbit Instructions -Review for: -1. **Claude→OpenCode**: This PR specifically includes Claude cleanup. Flag ANY remaining `~/.claude/`, `claude -p`, or `CLAUDE.md` references -2. **Regression check**: These files were already on main via PR #62-65, now getting WP-N fixes. Ensure no regressions. -3. **Code quality**: TypeScript strict, proper error handling -EOF -)" -``` - -**Verifikation nach Merge:** -```bash -git checkout main && git pull -grep -c '\.claude/' .opencode/PAI/Tools/algorithm.ts # Sollte 0 sein -grep -c '\.claude/' .opencode/PAI/Tools/pai.ts # Sollte 0 sein -``` - ---- - -### PR-03: Skill Reorg — Thinking/ + Security/ - -**Branch:** `release/v3.0-pr03-skills-thinking-security` -**Dateien:** 143 (2 ADD, 141 RENAME) -**Dateiliste:** `docs/epic/pr-filelists/PR-03-files.txt` - -**Git-Befehle:** -```bash -git checkout release/v3.0-complete -git checkout -b release/v3.0-pr03-skills-thinking-security main - -# Hole die neuen Kategorie-Verzeichnisse: -git checkout release/v3.0-complete -- .opencode/skills/Thinking/ -git checkout release/v3.0-complete -- .opencode/skills/Security/ - -# WICHTIG: Die alten Pfade NICHT hier löschen! -# Das passiert in PR-10 (Deletions). Dieser PR fügt NUR die neuen Pfade hinzu. - -git add .opencode/skills/Thinking/ .opencode/skills/Security/ -git commit -m "feat: skill reorg — Thinking/ and Security/ categories - -Hierarchical skill structure per PAI v4.0.3: - -skills/Thinking/ -├── BeCreative/, Council/, FirstPrinciples/, IterativeDepth/ -├── RedTeam/, Science/, WorldThreatModelHarness/ -└── SKILL.md (category overview) - -skills/Security/ -├── AnnualReports/, PromptInjection/, Recon/ -├── SECUpdates/, WebAssessment/ -└── SKILL.md (category overview) - -Note: Old flat paths remain until PR-10 (cleanup)." - -git push -u origin release/v3.0-pr03-skills-thinking-security -``` - -**PR erstellen:** -```bash -GH_HOST=github.com gh pr create \ - --repo Steffen025/pai-opencode \ - --base main \ - --head release/v3.0-pr03-skills-thinking-security \ - --title "v3.0 (3/11): Skill Reorg — Thinking/ + Security/ categories" \ - --body "$(cat <<'EOF' -## Summary -Creates hierarchical skill categories `Thinking/` and `Security/` per PAI v4.0.3 architecture. - -## What's included -- 7 skills reorganized into `skills/Thinking/` (BeCreative, Council, FirstPrinciples, IterativeDepth, RedTeam, Science, WorldThreatModelHarness) -- 5 skills reorganized into `skills/Security/` (AnnualReports, PromptInjection, Recon, SECUpdates, WebAssessment) -- Category-level SKILL.md for each - -## Note -Old flat skill paths are NOT deleted in this PR. Deletion happens in PR-10 (v3.0 11/11) after all reorg PRs are merged. - -## CodeRabbit Instructions -Review for: -1. **Path integrity**: Internal references in SKILL.md files should use new paths -2. **Claude→OpenCode**: Check for `~/.claude/` paths in moved skill files -3. **Completeness**: All files from the flat directories should appear in the new hierarchy -4. **SKILL.md quality**: Category SKILL.md should list all sub-skills correctly -EOF -)" -``` - -**Verifikation nach Merge:** -```bash -git checkout main && git pull -ls .opencode/skills/Thinking/SKILL.md # Muss existieren -ls .opencode/skills/Thinking/BeCreative/SKILL.md # Muss existieren -ls .opencode/skills/Security/SKILL.md # Muss existieren -ls .opencode/skills/Security/WebAssessment/SKILL.md # Muss existieren -``` - ---- - -### PR-04, PR-05, PR-06: Skill Reorg — Utilities/Fabric (3 Teile) - -Fabric hat 318 Dateien — aufgeteilt in 3 PRs à max 130. - -**Gemeinsame Strategie:** Alle 3 PRs holen `skills/Utilities/Fabric/` vom Integration-Branch. Die Aufteilung passiert über die exakten Dateilisten. - -#### PR-04: Fabric Teil 1 (130 Dateien) - -**Branch:** `release/v3.0-pr04-fabric-1` -**Dateiliste:** `docs/epic/pr-filelists/PR-04-files.txt` - -```bash -git checkout release/v3.0-complete -git checkout -b release/v3.0-pr04-fabric-1 main - -# Hole Dateien aus der exakten Liste: -while IFS=$'\t' read -r status path; do - git checkout release/v3.0-complete -- "$path" -done < <(grep -v '^DELETE' docs/epic/pr-filelists/PR-04-files.txt | cut -f2-) - -git add . -git commit -m "feat: skill reorg — Utilities/Fabric patterns (part 1/3) - -Moves Fabric patterns A-Kn into skills/Utilities/Fabric/. -Part 1 of 3 (130 files). Old flat paths removed in PR-10." - -git push -u origin release/v3.0-pr04-fabric-1 -``` - -**PR erstellen:** -```bash -GH_HOST=github.com gh pr create \ - --repo Steffen025/pai-opencode \ - --base main \ - --head release/v3.0-pr04-fabric-1 \ - --title "v3.0 (4/11): Skill Reorg — Utilities/Fabric (Part 1/3)" \ - --body "$(cat <<'EOF' -## Summary -Reorganizes Fabric patterns into `skills/Utilities/Fabric/`. Part 1 of 3 (130 files). - -## CodeRabbit Instructions -These are RENAMES (same content, new path). Review for: -1. **Path references**: Internal links should reference new path -2. **Claude→OpenCode**: Check for `~/.claude/` in pattern files -3. **Completeness**: Compare against `docs/epic/pr-filelists/PR-04-files.txt` -EOF -)" -``` - -#### PR-05: Fabric Teil 2 (130 Dateien) - -**Branch:** `release/v3.0-pr05-fabric-2` -**Dateiliste:** `docs/epic/pr-filelists/PR-05-files.txt` - -Exakt gleiche Prozedur wie PR-04, aber mit `PR-05-files.txt`. - -```bash -git checkout release/v3.0-complete -git checkout -b release/v3.0-pr05-fabric-2 main - -while IFS=$'\t' read -r status path; do - git checkout release/v3.0-complete -- "$path" -done < <(grep -v '^DELETE' docs/epic/pr-filelists/PR-05-files.txt | cut -f2-) - -git add . -git commit -m "feat: skill reorg — Utilities/Fabric patterns (part 2/3) - -Moves Fabric patterns Ko-Pr into skills/Utilities/Fabric/. -Part 2 of 3 (130 files). Old flat paths removed in PR-10." - -git push -u origin release/v3.0-pr05-fabric-2 -``` - -**PR:** Titel `"v3.0 (5/11): Skill Reorg — Utilities/Fabric (Part 2/3)"`, gleicher Body-Stil. - -#### PR-06: Fabric Teil 3 (58 Dateien) - -**Branch:** `release/v3.0-pr06-fabric-3` -**Dateiliste:** `docs/epic/pr-filelists/PR-06-files.txt` - -```bash -git checkout release/v3.0-complete -git checkout -b release/v3.0-pr06-fabric-3 main - -while IFS=$'\t' read -r status path; do - git checkout release/v3.0-complete -- "$path" -done < <(grep -v '^DELETE' docs/epic/pr-filelists/PR-06-files.txt | cut -f2-) - -git add . -git commit -m "feat: skill reorg — Utilities/Fabric patterns (part 3/3) - -Moves Fabric patterns Ps-Z + Workflows + SKILL.md into skills/Utilities/Fabric/. -Part 3 of 3 (58 files). Old flat paths removed in PR-10." - -git push -u origin release/v3.0-pr06-fabric-3 -``` - ---- - -### PR-07: Skill Reorg — Utilities (non-Fabric, Teil 1) - -**Branch:** `release/v3.0-pr07-utilities-1` -**Dateien:** 130 (1 ADD, 129 RENAME) -**Dateiliste:** `docs/epic/pr-filelists/PR-07-files.txt` - -```bash -git checkout release/v3.0-complete -git checkout -b release/v3.0-pr07-utilities-1 main - -while IFS=$'\t' read -r status path; do - git checkout release/v3.0-complete -- "$path" -done < <(grep -v '^DELETE' docs/epic/pr-filelists/PR-07-files.txt | cut -f2-) - -git add . -git commit -m "feat: skill reorg — Utilities (non-Fabric, part 1) - -Moves to skills/Utilities/: -- Aphorisms, Browser, Cloudflare, CreateCLI, CreateSkill -- Delegation (NEW), Documents, Docx -Part 1 of 2 (130 files). Old flat paths removed in PR-10." - -git push -u origin release/v3.0-pr07-utilities-1 -``` - -**PR:** Titel `"v3.0 (7/11): Skill Reorg — Utilities (Part 1)"` - ---- - -### PR-08: Skill Reorg — Utilities (Teil 2) + Scraping + ContentAnalysis + Investigation - -**Branch:** `release/v3.0-pr08-utilities-2-plus` -**Dateien:** 84 (2 ADD, 82 RENAME) -**Dateiliste:** `docs/epic/pr-filelists/PR-08-files.txt` - -```bash -git checkout release/v3.0-complete -git checkout -b release/v3.0-pr08-utilities-2-plus main - -while IFS=$'\t' read -r status path; do - git checkout release/v3.0-complete -- "$path" -done < <(grep -v '^DELETE' docs/epic/pr-filelists/PR-08-files.txt | cut -f2-) - -git add . -git commit -m "feat: skill reorg — Utilities (part 2) + Scraping + ContentAnalysis + Investigation - -Moves to skills/Utilities/: Evals, PAIUpgrade, Parser, Pdf, Pptx, Prompting, Xlsx -Creates skills/Scraping/: BrightData, Apify -Creates skills/ContentAnalysis/: ExtractWisdom -Creates skills/Investigation/: OSINT, PrivateInvestigator -84 files. Old flat paths removed in PR-10." - -git push -u origin release/v3.0-pr08-utilities-2-plus -``` - -**PR:** Titel `"v3.0 (8/11): Skill Reorg — Utilities 2 + Scraping + Content + Investigation"` - ---- - -### PR-09: Neue Skills + Migration Tools - -**Branch:** `release/v3.0-pr09-new-skills` -**Dateien:** 3 (alle ADD) -**Dateiliste:** `docs/epic/pr-filelists/PR-09-files.txt` - -```bash -git checkout release/v3.0-complete -git checkout -b release/v3.0-pr09-new-skills main - -git checkout release/v3.0-complete -- \ - .opencode/skills/OpenCodeSystem/ \ - .opencode/skills/CodeReview/ \ - Tools/ - -git add . -git commit -m "feat: new skills — OpenCodeSystem (WP-N6), CodeReview (WP-N7), migration tools - -- OpenCodeSystem: System self-awareness skill for OpenCode platform understanding -- CodeReview: RoboRev integration for automated code review -- Tools/migration-v2-to-v3.ts: Migration script for v2→v3 upgrade" - -git push -u origin release/v3.0-pr09-new-skills -``` - -**PR:** Titel `"v3.0 (9/11): New Skills — OpenCodeSystem + CodeReview + Migration Tools"` - ---- - -### PR-10: Skill Cleanup — Deletions + Remaining Fixes - -⚠️ **KRITISCH: Dieser PR darf ERST erstellt werden wenn PR-03, 04, 05, 06, 07, 08 ALLE gemerged sind!** - -**Branch:** `release/v3.0-pr10-skill-cleanup` -**Dateien:** 146 (6 ADD, 24 MODIFY, 114 DELETE, 2 RENAME) -**Dateiliste:** `docs/epic/pr-filelists/PR-10-files.txt` - -**Prüfe VOR Start:** -```bash -git checkout main && git pull -# ALLE diese Verzeichnisse müssen existieren: -ls .opencode/skills/Thinking/SKILL.md || echo "FEHLT — PR-03 nicht gemerged!" -ls .opencode/skills/Security/SKILL.md || echo "FEHLT — PR-03 nicht gemerged!" -ls .opencode/skills/Utilities/Fabric/SKILL.md || echo "FEHLT — PR-04/05/06 nicht gemerged!" -ls .opencode/skills/Utilities/Browser/SKILL.md || echo "FEHLT — PR-07 nicht gemerged!" -ls .opencode/skills/Scraping/ || echo "FEHLT — PR-08 nicht gemerged!" - -# Wenn IRGENDWAS fehlt → STOPPE. Merge erst die fehlenden PRs. -``` - -```bash -git checkout release/v3.0-complete -git checkout -b release/v3.0-pr10-skill-cleanup main - -# Die Dateiliste enthält DELETE, MODIFY, ADD, und RENAME Operationen. -# Verarbeite sie nach Typ: - -# DELETES — alte flache Skill-Pfade entfernen: -while IFS=$'\t' read -r path; do - git rm -rf "$path" 2>/dev/null || true -done < <(grep '^DELETE' docs/epic/pr-filelists/PR-10-files.txt | cut -f2) - -# ADDS und MODIFIES — von release/v3.0-complete holen: -while IFS=$'\t' read -r status path; do - git checkout release/v3.0-complete -- "$path" -done < <(grep -E '^(ADD|MODIFY)' docs/epic/pr-filelists/PR-10-files.txt | cut -f2) - -# RENAMES: -while IFS=$'\t' read -r old new; do - git rm "$old" 2>/dev/null || true - git checkout release/v3.0-complete -- "$new" -done < <(grep '^RENAME' docs/epic/pr-filelists/PR-10-files.txt | cut -f2,3) - -git add . -git commit -m "chore: skill cleanup — remove old flat paths, apply remaining fixes - -Removes 114 old flat skill directories (now in Thinking/, Security/, Utilities/, etc.) -Applies 24 remaining skill file fixes from dev. -Adds skill-index.json and remaining new files. - -⚠️ This PR depends on PR-03 through PR-08 being merged first." - -git push -u origin release/v3.0-pr10-skill-cleanup -``` - -**PR:** Titel `"v3.0 (10/11): Skill Cleanup — Remove old flat paths + remaining fixes"` - -**Verifikation nach Merge:** -```bash -git checkout main && git pull -# Alte flache Pfade sollten WEG sein: -ls .opencode/skills/BeCreative/ 2>&1 # "No such file or directory" ✅ -ls .opencode/skills/Council/ 2>&1 # "No such file or directory" ✅ -ls .opencode/skills/AnnualReports/ 2>&1 # "No such file or directory" ✅ - -# Neue hierarchische Pfade sollten DA sein: -ls .opencode/skills/Thinking/BeCreative/SKILL.md # Existiert ✅ -ls .opencode/skills/Security/AnnualReports/ # Existiert ✅ -``` - ---- - -### PR-11: Root Files + Docs + CI + Config - -**Branch:** `release/v3.0-pr11-root-docs` -**Dateien:** 45 (27 ADD, 17 MODIFY, 1 DELETE) -**Dateiliste:** `docs/epic/pr-filelists/PR-11-files.txt` - -```bash -git checkout release/v3.0-complete -git checkout -b release/v3.0-pr11-root-docs main - -# Hole alle Dateien aus der Liste: -while IFS=$'\t' read -r status path; do - if [ "$status" = "DELETE" ]; then - git rm "$path" 2>/dev/null || true - else - git checkout release/v3.0-complete -- "$path" - fi -done < <(cat docs/epic/pr-filelists/PR-11-files.txt | sed 's/^ADD\t/ADD\t/' | sed 's/^MODIFY\t/MODIFY\t/' | sed 's/^DELETE\t/DELETE\t/') - -git add . -git commit -m "docs: v3.0 root files, ADRs, CI, config updates - -- README.md: Quick Start now references PAI-Install/install.sh -- INSTALL.md: Rewritten for CLI-only installer -- CHANGELOG.md: v3.0.0 entry updated -- docs/architecture/adr/: ADR-009 through ADR-018 -- .github/workflows/: CI updates -- UPGRADE.md: New migration guide -- biome.json, package.json: Config updates" - -git push -u origin release/v3.0-pr11-root-docs -``` - -**PR:** Titel `"v3.0 (11/11): Root files, docs, CI, config — Claude→OpenCode cleanup"` - -**Verifikation nach Merge:** -```bash -git checkout main && git pull -grep -c 'PAI-Install' README.md # Sollte > 0 sein -ls docs/architecture/adr/ADR-009* # Sollte existieren -``` - ---- - -### PR-12: Semantische Claude→OpenCode Bereinigung - -> [!info] Detailplan -> Vollständige Datei-für-Datei-Analyse: `docs/epic/CLAUDE-CLEANUP-PLAN.md` - ---- - -> [!warning] BESONDERHEIT: Dieser PR arbeitet direkt auf `main` -> Nicht über den Integration-Branch! Die betroffenen Dateien sind **bereits identisch auf main und dev**. Sie sind in KEINEM der 11 PRs (PR-01 bis PR-11). -> PR-12 hat **KEINE Abhängigkeiten** zu PR-01 bis PR-11 und kann jederzeit parallel laufen. - -**Branch:** `release/v3.0-pr12-claude-semantic-cleanup` -**Dateien:** 18 (2× DELETE, 1× UPDATE, 2× REWRITE, 1× PARTIAL REWRITE, 7× EDIT, 1× RENAME+EDIT, 4× MECHANICAL) -**Dateiliste:** Definiert in `docs/epic/CLAUDE-CLEANUP-PLAN.md` (Abschnitt "PR-12 Dateiliste") - -**Git-Befehle:** -```bash -# WICHTIG: Branch von main erstellen, NICHT von release/v3.0-complete! -git checkout main -git pull origin main -git checkout -b release/v3.0-pr12-claude-semantic-cleanup - -# PLATTFORM-HINWEIS: sed -i '' ist macOS-spezifisch. -# Auf Linux: sed -i 's|...|...|g' (ohne leeres Argument nach -i) -# Portabler Wrapper — einmalig am Anfang setzen: -if [[ "$OSTYPE" == "darwin"* ]]; then - SED_INPLACE=(-i '') -else - SED_INPLACE=(-i) -fi -# Verwendung dann: sed "${SED_INPLACE[@]}" 's|...|...|g' datei - -# === MECHANISCHE FIXES (5 .ts Dateien — Kategorie 1: ~/.claude/ → ~/.opencode/) === -sed -i '' 's|~/\.claude/|~/.opencode/|g' \ - .opencode/PAI/Tools/SecretScan.ts \ - .opencode/PAI/Tools/GetTranscript.ts \ - .opencode/PAI/Tools/LoadSkillConfig.ts \ - .opencode/PAI/Tools/ActivityParser.ts \ - .opencode/plugins/lib/identity.ts - -# === VARIABLE RENAME (Kategorie 6: claudeHome → opencodeHome) === -sed -i '' 's/claudeHome/opencodeHome/g' .opencode/skills/Agents/Tools/LoadAgentContext.ts - -# === BuildCLAUDE.ts RENAME (Kategorie 5) === -git mv .opencode/PAI/Tools/BuildCLAUDE.ts .opencode/PAI/Tools/BuildAGENTS.ts -# Interne Referenzen in BuildAGENTS.ts anpassen: -sed -i '' 's|CLAUDE\.md|AGENTS.md|g' .opencode/PAI/Tools/BuildAGENTS.ts -sed -i '' 's|~/\.claude/|~/.opencode/|g' .opencode/PAI/Tools/BuildAGENTS.ts -sed -i '' 's|BuildCLAUDE|BuildAGENTS|g' .opencode/PAI/Tools/BuildAGENTS.ts - -# === MEDIUM EDITS (Kategorien 1, 2, 3) === -# Diese Dateien brauchen sed + manuellen Review: -sed -i '' 's|~/\.claude/|~/.opencode/|g; s|CLAUDE\.md|AGENTS.md|g' \ - .opencode/PAI/PRDFORMAT.md \ - .opencode/PAI/Algorithm/v3.7.0.md \ - .opencode/PAI/ACTIONS.md \ - .opencode/PAI/README.md - -# CLI.md: claude -p Referenzen manuell umschreiben (Kategorie 3): -# → Öffne .opencode/PAI/CLI.md und ersetze `claude -p` Beispiele durch Task-Tool Pattern - -# Algorithm/v3.7.0.md: claude -p in Loop-Mode-Beschreibung: -# → Manuell: "Use opencode CLI or Task tool" statt "claude -p" - -# SKILLSYSTEM.md: Pfade + CLAUDE.md Referenzen + Bootstrap-Beschreibung (Kategorie 4d): -# → sed für mechanische Teile, manuell für Beschreibungstext -sed -i '' 's|~/\.claude/|~/.opencode/|g; s|CLAUDE\.md|AGENTS.md|g' .opencode/PAI/SKILLSYSTEM.md -# → Manuell: "CLAUDE.md bootstrapping" → "AGENTS.md bootstrapping" etc. - -# === THEHOOKSYSTEM CLEANUPS (Kategorie 4a) === - -# THEHOOKSYSTEM.md existiert in ZWEI Versionen — beide löschen: -# 1) .opencode/PAI/THEHOOKSYSTEM.md (Claude Code Version: ~/.claude/hooks/) -git rm .opencode/PAI/THEHOOKSYSTEM.md -# 2) .opencode/skills/PAI/SYSTEM/THEHOOKSYSTEM.md (obsolete Übergangsversion) -git rm .opencode/skills/PAI/SYSTEM/THEHOOKSYSTEM.md - -# THEPLUGINSYSTEM.md existiert bereits unter .opencode/skills/PAI/SYSTEM/ -# Stand: Januar 2026 (363 Zeilen) — updaten für 27 aktuelle Handler: -# → Neue Handler seit Jan 2026 dokumentieren (agent-execution-guard, check-version, -# compaction-intelligence, isc-validator, prd-sync, question-tracking, -# relationship-memory, roborev-trigger, security-validator, session-cleanup, etc.) -# → Event-Typen vervollständigen -# → Stand-Datum aktualisieren - -# === SCHWERE REWRITES (Kategorien 4b, 4c — je 1-2 Stunden) === - -# MEMORYSYSTEM.md (20 Treffer): -# → Abschnitte über Transcript-Speicher umschreiben -# → projects/{uuid}.jsonl → OpenCode Session-DB -# → ~/.claude/ → ~/.opencode/ -# → "Claude Code sessions" → "OpenCode sessions" - -# TOOLS.md (25 Treffer): -# → Tool-Referenzen aktualisieren -# → Claude Code Built-in Tools → OpenCode Tool-Äquivalente -# → claude -p Aufrufe → Task-Tool Referenzen - -# Commit in Teilen (empfohlen): -git add .opencode/PAI/Tools/SecretScan.ts \ - .opencode/PAI/Tools/GetTranscript.ts \ - .opencode/PAI/Tools/LoadSkillConfig.ts \ - .opencode/PAI/Tools/ActivityParser.ts \ - .opencode/plugins/lib/identity.ts \ - .opencode/skills/Agents/Tools/LoadAgentContext.ts -git commit -m "fix: mechanical Claude→OpenCode cleanup (paths + variable rename) - -- ~/.claude/ → ~/.opencode/ in 5 TypeScript files -- claudeHome → opencodeHome in LoadAgentContext.ts" - -git add .opencode/PAI/Tools/BuildAGENTS.ts -git commit -m "refactor: rename BuildCLAUDE.ts → BuildAGENTS.ts - -- Rename file to match AGENTS.md output target -- Update internal CLAUDE.md → AGENTS.md references -- Update ~/.claude/ → ~/.opencode/ paths" - -git add .opencode/PAI/PRDFORMAT.md \ - .opencode/PAI/Algorithm/v3.7.0.md \ - .opencode/PAI/ACTIONS.md \ - .opencode/PAI/README.md \ - .opencode/PAI/CLI.md \ - .opencode/PAI/SKILLSYSTEM.md -git commit -m "fix: Claude→OpenCode cleanup in PAI documentation - -- PRDFORMAT.md, Algorithm/v3.7.0.md, ACTIONS.md, README.md: path + AGENTS.md fixes -- CLI.md: claude -p → Task tool references -- SKILLSYSTEM.md: CLAUDE.md bootstrapping → AGENTS.md bootstrapping" - -git add .opencode/PAI/MEMORYSYSTEM.md \ - .opencode/PAI/TOOLS.md \ - .opencode/skills/PAI/SYSTEM/THEPLUGINSYSTEM.md -git commit -m "docs: rewrite Claude Code docs for OpenCode architecture - -- MEMORYSYSTEM.md: Session-DB instead of projects/{uuid}.jsonl transcripts -- TOOLS.md: OpenCode-native tool references -- THEPLUGINSYSTEM.md: Update with 27 current handlers (was Jan 2026)" - -git add -u .opencode/PAI/THEHOOKSYSTEM.md \ - .opencode/skills/PAI/SYSTEM/THEHOOKSYSTEM.md -git commit -m "docs: delete obsolete THEHOOKSYSTEM.md files (×2) - -- .opencode/PAI/THEHOOKSYSTEM.md: Claude Code version (/.claude/hooks/) — deleted -- .opencode/skills/PAI/SYSTEM/THEHOOKSYSTEM.md: obsolete transition version — deleted -- Replaced by existing THEPLUGINSYSTEM.md (updated separately)" - -# Push: -git push -u origin release/v3.0-pr12-claude-semantic-cleanup -``` - -**PR erstellen:** -```bash -GH_HOST=github.com gh pr create \ - --repo Steffen025/pai-opencode \ - --base main \ - --head release/v3.0-pr12-claude-semantic-cleanup \ - --title "v3.0 (12/12): Semantic Claude→OpenCode cleanup" \ - --body "$(cat <<'EOF' -## Summary -Comprehensive semantic cleanup of Claude Code references in files that are already on main (identical main=dev). These files are NOT covered by PR-01 through PR-11. - -## What's included -- **2 deletions + 1 update:** - - `THEHOOKSYSTEM.md` (×2): Delete both instances (`.opencode/PAI/` + `.opencode/skills/PAI/SYSTEM/`) - - `THEPLUGINSYSTEM.md`: Update with 27 current handlers (already exists at `.opencode/skills/PAI/SYSTEM/`) -- **2 heavy rewrites:** - - `MEMORYSYSTEM.md`: Session-DB references instead of `projects/{uuid}.jsonl` transcripts - - `TOOLS.md`: OpenCode-native tool references -- **7 medium edits:** SKILLSYSTEM.md, CLI.md, PRDFORMAT.md, Algorithm/v3.7.0.md, ACTIONS.md, README.md (PAI), BuildCLAUDE.ts→BuildAGENTS.ts -- **6 mechanical fixes:** Path replacements in .ts files + claudeHome variable rename - -## The 8 Claude Reference Categories -| # | Type | Files | Status | -|---|------|-------|--------| -| 1 | `~/.claude/` paths | 11 | Fixed (sed) | -| 2 | `CLAUDE.md` filename | 7 | Fixed (sed) | -| 3 | `claude -p` CLI calls | 3 | Rewritten (Task tool) | -| 4 | "Claude Code" platform | 6 | Rewritten (OpenCode) | -| 5 | BuildCLAUDE.ts | 1 | Renamed → BuildAGENTS.ts | -| 6 | claudeHome variable | 1 | Renamed → opencodeHome | -| 7 | "claude session" refs | — | Fixed in PR-02 | -| 8 | projects/{uuid}.jsonl | 1 | Rewritten (Session-DB) | - -## Dependencies -**NONE** — this PR can be merged independently and in parallel with PR-01 through PR-11. - -## CodeRabbit Instructions -Review for: -1. **Semantic accuracy**: Do the rewritten docs correctly describe OpenCode's architecture? - - THEHOOKSYSTEM.md files should be GONE (deleted, not rewritten) - - THEPLUGINSYSTEM.md should describe all 27 current plugin handlers - - MEMORYSYSTEM.md should reference SQLite session DB, NOT JSONL files - - TOOLS.md should list OpenCode-native tools -2. **No remaining Claude references**: Flag any `~/.claude/`, `CLAUDE.md`, `claude -p`, or "Claude Code" as platform name -3. **KEEP**: claude model names (claude-opus, claude-sonnet, claude-haiku), ClaudeResearcher agent, migration docs -4. **BuildAGENTS.ts**: Verify rename is complete (no internal BuildCLAUDE references remaining) -EOF -)" -``` - -**Verifikation nach Merge:** -```bash -git checkout main && git pull - -# Keine verbleibenden Claude-Pfade (außer Ausnahmen): -grep -rn '~/\.claude/' .opencode/ --include="*.ts" --include="*.md" | grep -v node_modules | grep -v MAPPING | grep -v MIGRATION | grep -v UPSTREAM -# Sollte 0 relevante Treffer haben - -# CLAUDE.md als Dateireferenz weg: -grep -rn 'CLAUDE\.md' .opencode/ --include="*.md" --include="*.ts" | grep -v node_modules | grep -v MAPPING | grep -v MIGRATION | grep -v CHANGELOG -# Sollte 0 Treffer haben - -# claude -p Calls weg: -grep -rn 'claude -p' .opencode/ --include="*.ts" --include="*.sh" | grep -v node_modules -# Sollte 0 Treffer haben - -# BuildCLAUDE.ts weg: -ls .opencode/PAI/Tools/BuildCLAUDE.ts 2>&1 # "No such file or directory" ✅ -ls .opencode/PAI/Tools/BuildAGENTS.ts # Existiert ✅ - -# claudeHome Variable weg: -grep -rn 'claudeHome' .opencode/ --include="*.ts" | grep -v node_modules -# Sollte 0 Treffer haben - -# Beide THEHOOKSYSTEM.md weg: -ls .opencode/PAI/THEHOOKSYSTEM.md 2>&1 # "No such file" ✅ -ls .opencode/skills/PAI/SYSTEM/THEHOOKSYSTEM.md 2>&1 # "No such file" ✅ - -# THEPLUGINSYSTEM.md existiert und ist aktuell: -ls .opencode/skills/PAI/SYSTEM/THEPLUGINSYSTEM.md # Existiert ✅ -grep -c 'agent-execution-guard\|isc-validator\|prd-sync' .opencode/skills/PAI/SYSTEM/THEPLUGINSYSTEM.md # > 0 ✅ - -# MEMORYSYSTEM.md referenziert Session-DB: -grep -c 'jsonl' .opencode/PAI/MEMORYSYSTEM.md # Sollte 0 sein (oder nur historisch) -``` - ---- - -## PHASE 3: Abschluss - -### Schritt 3.1: Verifikation — main = dev - -Nachdem ALLE 12 PRs (PR-01 bis PR-12) gemerged sind: - -```bash -git checkout main -git pull origin main -git fetch origin dev - -# DER ULTIMATIVE TEST: Gibt es noch Unterschiede? -git diff origin/main origin/dev --stat -``` - -**Erwartetes Ergebnis:** 0 Dateien unterscheiden sich. Wenn doch: -1. Liste die verbleibenden Dateien auf -2. Entscheide pro Datei: Vergessen oder absichtlich anders? -3. Erstelle einen Fix-PR für vergessene Dateien - -### Schritt 3.2: Finale Checks - -```bash -# Claude→OpenCode Bereinigung vollständig? -grep -rn '~/\.claude/' .opencode/ --include="*.ts" --include="*.md" | grep -v node_modules | grep -v MAPPING | grep -v MIGRATION | grep -v UPSTREAM -# Sollte 0 relevante Treffer haben - -# Keine claude -p Calls? -grep -rn 'claude -p' .opencode/ --include="*.ts" --include="*.sh" | grep -v node_modules -# Sollte 0 Treffer haben - -# PAI-Install vorhanden? -ls PAI-Install/install.sh -# Muss existieren - -# Hierarchische Skills vorhanden? -ls .opencode/skills/Thinking/SKILL.md -ls .opencode/skills/Security/SKILL.md -ls .opencode/skills/Utilities/SKILL.md -ls .opencode/skills/Scraping/SKILL.md -ls .opencode/skills/ContentAnalysis/ExtractWisdom/SKILL.md -ls .opencode/skills/Investigation/OSINT/SKILL.md -# Alle müssen existieren - -# Alte flache Pfade weg? -ls .opencode/skills/BeCreative/ 2>&1 | grep "No such" -ls .opencode/skills/Council/ 2>&1 | grep "No such" -ls .opencode/skills/BrightData/ 2>&1 | grep "No such" -# Alle sollten "No such file or directory" zeigen - -# README.md korrekt? -grep 'PAI-Install' README.md | head -3 -# Sollte install.sh referenzieren (keine legacy Installer-Pfade) -``` - -### Schritt 3.3: v3.0.0 Tag erstellen - -⚠️ **ERST NACH STEFFENS EXPLIZITEM OK** - -```bash -git checkout main -git pull origin main - -# Falls ein alter v3.0.0 Tag lokal existiert (von upstream): -git tag -d v3.0.0 2>/dev/null - -# Neuen Tag erstellen: -git tag -a v3.0.0 -m "v3.0.0 — PAI-OpenCode Complete - -Hierarchical skill structure (19 categories), CLI installer, -Algorithm v3.7.0, Claude→OpenCode cleanup, 16 agents with tier routing, -plugin event-bus, security hardening, and full PAI v4.0.3 port." - -# ERST NACH STEFFENS OK: -git push origin v3.0.0 -``` - -### Schritt 3.4: Aufräumen - -```bash -# Integration-Branch löschen (lokal + remote): -git branch -d release/v3.0-complete -git push origin --delete release/v3.0-complete - -# PR-Branches löschen (GitHub löscht sie normalerweise nach Merge automatisch) -# Falls nicht: -for i in 01 02 03 04 05 06 07 08 09 10 11; do - git push origin --delete release/v3.0-pr${i}-* 2>/dev/null -done -``` - ---- - -## CHECKLISTE: Definition of Done - -Gehe diese Liste Punkt für Punkt durch. Jeder Punkt muss mit JA beantwortet werden können. - -### PRs gemerged: -- [ ] PR-01: PAI-Install auf main -- [ ] PR-02: PAI Core + Claude Scan auf main -- [ ] PR-03: Thinking + Security auf main -- [ ] PR-04: Fabric Teil 1 auf main -- [ ] PR-05: Fabric Teil 2 auf main -- [ ] PR-06: Fabric Teil 3 auf main -- [ ] PR-07: Utilities Teil 1 auf main -- [ ] PR-08: Utilities Teil 2 + Scraping auf main -- [ ] PR-09: Neue Skills auf main -- [ ] PR-10: Skill Cleanup (Deletions) auf main -- [ ] PR-11: Root + Docs auf main -- [ ] PR-12: Semantische Claude→OpenCode Bereinigung auf main - -### Verifikation: -- [ ] `git diff origin/main origin/dev --stat` = 0 Dateien -- [ ] Kein `~/.claude/` in Code (außer Migration-Docs + PAI-Install Detection) -- [ ] Kein `CLAUDE.md` als Datei-Referenz (außer Migration-Docs) -- [ ] Kein `claude -p` in ausführbarem Code -- [ ] Kein `claude session` in ausführbarem Code -- [ ] `PAI-Install/install.sh` existiert auf main -- [ ] Hierarchische Skill-Struktur komplett (Thinking, Security, Utilities, Scraping, ContentAnalysis, Investigation) -- [ ] Alte flache Skill-Pfade gelöscht (kein BeCreative/, Council/, etc. auf Root-Level) -- [ ] README.md referenziert `PAI-Install/install.sh` (CLI-only) -- [ ] `skill-index.json` existiert -- [ ] v3.0.0 Tag erstellt und gepusht - -### Claude→OpenCode Bereinigung (8 Kategorien): -- [ ] Kein `~/.claude/` Pfad in .ts/.md (außer Migration-Docs + PAI-Install Detection) -- [ ] Kein `CLAUDE.md` als Datei-Referenz (außer Migration-Docs) -- [ ] Kein `claude -p` in ausführbarem Code -- [ ] Kein "Claude Code" als Plattformname in Docs (außer historische Vergleiche) -- [ ] `BuildCLAUDE.ts` umbenannt zu `BuildAGENTS.ts` -- [ ] `claudeHome` Variable umbenannt zu `opencodeHome` -- [ ] Kein `claude session` in ausführbarem Code -- [ ] Kein `projects/{uuid}.jsonl` als aktueller Speicherpfad (historisch OK) -- [ ] Beide THEHOOKSYSTEM.md gelöscht (`.opencode/PAI/` + `.opencode/skills/PAI/SYSTEM/`) -- [ ] THEPLUGINSYSTEM.md aktualisiert (27 Handler dokumentiert, `.opencode/skills/PAI/SYSTEM/`) -- [ ] MEMORYSYSTEM.md referenziert OpenCode Session-DB (nicht JSONL Transcripts) -- [ ] TOOLS.md listet OpenCode-native Tools -- [ ] SKILLSYSTEM.md referenziert AGENTS.md (nicht CLAUDE.md) - ---- - -## ENTSCHEIDUNGSTABELLE: Was tun wenn... - -| Situation | Aktion | -|-----------|--------| -| CodeRabbit findet echten Bug | Fix auf dem PR-Branch, neuer Commit, warte auf Re-Review | -| CodeRabbit Suggestion ist Verbesserung, kein Bug | Annehmen wenn sinnvoll, ablehnen wenn Geschmackssache | -| Merge-Konflikt bei PR-Merge nach main | STOPPE. Analysiere welche PRs kollidieren. Löse manuell auf dem PR-Branch. | -| PR-10 will mergen aber PR-07 ist noch offen | WARTE. PR-10 darf ERST nach PR-03 bis PR-08. | -| Eine Datei wurde vergessen (nicht in den 12 PRs) | Packe sie in den nächstpassenden noch offenen PR, oder erstelle einen 13. Fix-PR | -| `git diff main dev` zeigt nach allen PRs noch Unterschiede | Erstelle PR-13 "fix: remaining v3.0 files" mit den verbleibenden Dateien | -| Steffen sagt "stopp" | SOFORT stoppen. Kein Push, kein Merge, kein Commit. | - ---- - -## STATISTIK - -| Metrik | Wert | -|--------|------| -| Gesamt-Dateien (dev→main Diff) | 935 | -| + Semantische Cleanup-Dateien (PR-12) | +18 (bereits auf main, identisch mit dev) | -| Anzahl PRs | **12** (11 thematisch + 1 semantischer Cleanup) | -| Max Dateien pro PR | 146 (PR-10) | -| CodeRabbit max Capacity | 150 Dateien | -| Neue Dateien (ADD) | 87 | -| Geänderte Dateien (MODIFY) | 61 + 18 (PR-12) | -| Gelöschte Dateien (DELETE) | 115 | -| Umbenannte Dateien (RENAME) | 672 + 1 (BuildCLAUDE→BuildAGENTS) | -| Claude→OpenCode: Mechanische Fixes | ~30 Dateien (Kat 1+2, sed) | -| Claude→OpenCode: Semi-mechanische Fixes | ~5 Dateien (Kat 3, claude -p) | -| Claude→OpenCode: Semantische Rewrites | ~10 Dateien (Kat 4-8, manuell) | -| Claude→OpenCode: Schwere Rewrites | 3 Dateien (THEHOOKSYSTEM, MEMORYSYSTEM, TOOLS) | -| Claude→OpenCode: Geschätzter Aufwand | 10-14 Stunden | - ---- - -*Runbook erstellt: 2026-03-13* -*Repository: Steffen025/pai-opencode* -*Analyse-Basis: git diff origin/main origin/dev (935 Dateien)* diff --git a/docs/epic/pr-filelists/PR-01-files.txt b/docs/epic/pr-filelists/PR-01-files.txt deleted file mode 100644 index aa5cfbcf..00000000 --- a/docs/epic/pr-filelists/PR-01-files.txt +++ /dev/null @@ -1,46 +0,0 @@ -ADD PAI-Install/.gitignore -ADD PAI-Install/README.md -ADD PAI-Install/cli/quick-install.ts -ADD PAI-Install/electron/main.js -ADD PAI-Install/electron/package-lock.json -ADD PAI-Install/electron/package.json -ADD PAI-Install/engine/actions.ts -ADD PAI-Install/engine/build-opencode.ts -ADD PAI-Install/engine/config-gen.ts -ADD PAI-Install/engine/detect.ts -ADD PAI-Install/engine/index.ts -ADD PAI-Install/engine/migrate.ts -ADD PAI-Install/engine/provider-models.ts -ADD PAI-Install/engine/state.ts -ADD PAI-Install/engine/steps-fresh.ts -ADD PAI-Install/engine/steps-migrate.ts -ADD PAI-Install/engine/steps-update.ts -ADD PAI-Install/engine/types.ts -ADD PAI-Install/engine/update.ts -ADD PAI-Install/engine/validate.ts -ADD PAI-Install/generate-welcome.ts -ADD PAI-Install/install.sh -ADD PAI-Install/main.ts -ADD PAI-Install/public/app.js -ADD PAI-Install/public/assets/banner.png -ADD PAI-Install/public/assets/fonts/advocate_34_narr_reg.woff2 -ADD PAI-Install/public/assets/fonts/advocate_54_wide_reg.woff2 -ADD PAI-Install/public/assets/fonts/concourse_3_bold.woff2 -ADD PAI-Install/public/assets/fonts/concourse_3_regular.woff2 -ADD PAI-Install/public/assets/fonts/concourse_4_regular.woff2 -ADD PAI-Install/public/assets/fonts/triplicate_t3_code_bold.ttf -ADD PAI-Install/public/assets/fonts/triplicate_t3_code_regular.ttf -ADD PAI-Install/public/assets/fonts/valkyrie_a_bold.woff2 -ADD PAI-Install/public/assets/fonts/valkyrie_a_regular.woff2 -ADD PAI-Install/public/assets/pai-icon.png -ADD PAI-Install/public/assets/pai-logo-wide.png -ADD PAI-Install/public/assets/pai-logo.png -ADD PAI-Install/public/assets/voice-female.mp3 -ADD PAI-Install/public/assets/voice-male.mp3 -ADD PAI-Install/public/assets/welcome.mp3 -ADD PAI-Install/public/assets/welcome.wav -ADD PAI-Install/public/index.html -ADD PAI-Install/public/styles.css -ADD PAI-Install/web/routes.ts -ADD PAI-Install/web/server.ts -ADD PAI-Install/wrapper-template.sh diff --git a/docs/epic/pr-filelists/PR-02-files.txt b/docs/epic/pr-filelists/PR-02-files.txt deleted file mode 100644 index c59118cb..00000000 --- a/docs/epic/pr-filelists/PR-02-files.txt +++ /dev/null @@ -1,20 +0,0 @@ -MODIFY .opencode/PAI/ACTIONS/lib/pipeline-runner.ts -MODIFY .opencode/PAI/ACTIONS/lib/runner.ts -MODIFY .opencode/PAI/ACTIONS/lib/runner.v2.ts -MODIFY .opencode/PAI/ACTIONS/pai.ts -MODIFY .opencode/PAI/Tools/BannerMatrix.ts -MODIFY .opencode/PAI/Tools/ExtractTranscript.ts -MODIFY .opencode/PAI/Tools/FailureCapture.ts -MODIFY .opencode/PAI/Tools/IntegrityMaintenance.ts -MODIFY .opencode/PAI/Tools/OpinionTracker.ts -MODIFY .opencode/PAI/Tools/PipelineMonitor.ts -MODIFY .opencode/PAI/Tools/RemoveBg.ts -MODIFY .opencode/PAI/Tools/SplitAndTranscribe.ts -MODIFY .opencode/PAI/Tools/TranscriptParser.ts -MODIFY .opencode/PAI/Tools/YouTubeApi.ts -MODIFY .opencode/PAI/Tools/algorithm.ts -MODIFY .opencode/PAI/Tools/pai.ts -MODIFY .opencode/plugins/handlers/session-registry.ts -MODIFY .opencode/plugins/handlers/skill-restore.ts -MODIFY .opencode/plugins/handlers/voice-notification.ts -MODIFY .opencode/plugins/lib/db-utils.ts diff --git a/docs/epic/pr-filelists/PR-03-files.txt b/docs/epic/pr-filelists/PR-03-files.txt deleted file mode 100644 index af92f89e..00000000 --- a/docs/epic/pr-filelists/PR-03-files.txt +++ /dev/null @@ -1,143 +0,0 @@ -RENAME .opencode/skills/AnnualReports/Data/sources.json .opencode/skills/Security/AnnualReports/Data/sources.json -RENAME .opencode/USER/.gitkeep .opencode/skills/Security/AnnualReports/Reports/.gitkeep -RENAME .opencode/skills/AnnualReports/SKILL.md .opencode/skills/Security/AnnualReports/SKILL.md -RENAME .opencode/skills/AnnualReports/Tools/FetchReport.ts .opencode/skills/Security/AnnualReports/Tools/FetchReport.ts -RENAME .opencode/skills/AnnualReports/Tools/ListSources.ts .opencode/skills/Security/AnnualReports/Tools/ListSources.ts -RENAME .opencode/skills/AnnualReports/Tools/UpdateSources.ts .opencode/skills/Security/AnnualReports/Tools/UpdateSources.ts -RENAME .opencode/skills/PromptInjection/APPLICATION-RECONNAISSANCE-METHODOLOGY.md .opencode/skills/Security/PromptInjection/APPLICATION-RECONNAISSANCE-METHODOLOGY.md -RENAME .opencode/skills/PromptInjection/AutomatedTestingTools.md .opencode/skills/Security/PromptInjection/AutomatedTestingTools.md -RENAME .opencode/skills/PromptInjection/COMPREHENSIVE-ATTACK-TAXONOMY.md .opencode/skills/Security/PromptInjection/COMPREHENSIVE-ATTACK-TAXONOMY.md -RENAME .opencode/skills/PromptInjection/DefenseMechanisms.md .opencode/skills/Security/PromptInjection/DefenseMechanisms.md -RENAME .opencode/skills/PromptInjection/QuickStartGuide.md .opencode/skills/Security/PromptInjection/QuickStartGuide.md -RENAME .opencode/skills/PromptInjection/README.md .opencode/skills/Security/PromptInjection/README.md -RENAME .opencode/skills/PromptInjection/Reporting.md .opencode/skills/Security/PromptInjection/Reporting.md -RENAME .opencode/skills/PromptInjection/SKILL.md .opencode/skills/Security/PromptInjection/SKILL.md -RENAME .opencode/skills/PromptInjection/Workflows/CompleteAssessment.md .opencode/skills/Security/PromptInjection/Workflows/CompleteAssessment.md -RENAME .opencode/skills/PromptInjection/Workflows/DirectInjectionTesting.md .opencode/skills/Security/PromptInjection/Workflows/DirectInjectionTesting.md -RENAME .opencode/skills/PromptInjection/Workflows/IndirectInjectionTesting.md .opencode/skills/Security/PromptInjection/Workflows/IndirectInjectionTesting.md -RENAME .opencode/skills/PromptInjection/Workflows/MultiStageAttacks.md .opencode/skills/Security/PromptInjection/Workflows/MultiStageAttacks.md -RENAME .opencode/skills/PromptInjection/Workflows/Reconnaissance.md .opencode/skills/Security/PromptInjection/Workflows/Reconnaissance.md -RENAME .opencode/skills/Recon/Data/BountyPrograms.json .opencode/skills/Security/Recon/Data/BountyPrograms.json -RENAME .opencode/skills/Recon/README.md .opencode/skills/Security/Recon/README.md -RENAME .opencode/skills/Recon/SKILL.md .opencode/skills/Security/Recon/SKILL.md -RENAME .opencode/skills/Recon/Tools/BountyPrograms.ts .opencode/skills/Security/Recon/Tools/BountyPrograms.ts -RENAME .opencode/skills/Recon/Tools/CidrUtils.ts .opencode/skills/Security/Recon/Tools/CidrUtils.ts -RENAME .opencode/skills/Recon/Tools/CorporateStructure.ts .opencode/skills/Security/Recon/Tools/CorporateStructure.ts -RENAME .opencode/skills/Recon/Tools/DnsUtils.ts .opencode/skills/Security/Recon/Tools/DnsUtils.ts -RENAME .opencode/skills/Recon/Tools/EndpointDiscovery.ts .opencode/skills/Security/Recon/Tools/EndpointDiscovery.ts -RENAME .opencode/skills/Recon/Tools/IpinfoClient.ts .opencode/skills/Security/Recon/Tools/IpinfoClient.ts -RENAME .opencode/skills/Recon/Tools/MassScan.ts .opencode/skills/Security/Recon/Tools/MassScan.ts -RENAME .opencode/skills/Recon/Tools/PathDiscovery.ts .opencode/skills/Security/Recon/Tools/PathDiscovery.ts -RENAME .opencode/skills/Recon/Tools/PortScan.ts .opencode/skills/Security/Recon/Tools/PortScan.ts -RENAME .opencode/skills/Recon/Tools/SubdomainEnum.ts .opencode/skills/Security/Recon/Tools/SubdomainEnum.ts -RENAME .opencode/skills/Recon/Tools/WhoisParser.ts .opencode/skills/Security/Recon/Tools/WhoisParser.ts -RENAME .opencode/skills/Recon/Workflows/AnalyzeScanResultsGemini3.md .opencode/skills/Security/Recon/Workflows/AnalyzeScanResultsGemini3.md -RENAME .opencode/skills/Recon/Workflows/BountyPrograms.md .opencode/skills/Security/Recon/Workflows/BountyPrograms.md -RENAME .opencode/skills/Recon/Workflows/DomainRecon.md .opencode/skills/Security/Recon/Workflows/DomainRecon.md -RENAME .opencode/skills/Recon/Workflows/IpRecon.md .opencode/skills/Security/Recon/Workflows/IpRecon.md -RENAME .opencode/skills/Recon/Workflows/NetblockRecon.md .opencode/skills/Security/Recon/Workflows/NetblockRecon.md -RENAME .opencode/skills/Recon/Workflows/PassiveRecon.md .opencode/skills/Security/Recon/Workflows/PassiveRecon.md -RENAME .opencode/skills/Recon/Workflows/UpdateTools.md .opencode/skills/Security/Recon/Workflows/UpdateTools.md -RENAME .opencode/skills/SECUpdates/SKILL.md .opencode/skills/Security/SECUpdates/SKILL.md -RENAME .opencode/skills/SECUpdates/Workflows/Update.md .opencode/skills/Security/SECUpdates/Workflows/Update.md -RENAME .opencode/skills/SECUpdates/sources.json .opencode/skills/Security/SECUpdates/sources.json -ADD .opencode/skills/Security/SKILL.md -RENAME .opencode/skills/WebAssessment/BugBountyTool/README.md .opencode/skills/Security/WebAssessment/BugBountyTool/README.md -RENAME .opencode/skills/WebAssessment/BugBountyTool/bounty.sh .opencode/skills/Security/WebAssessment/BugBountyTool/bounty.sh -RENAME .opencode/skills/WebAssessment/BugBountyTool/bun.lock .opencode/skills/Security/WebAssessment/BugBountyTool/bun.lock -RENAME .opencode/skills/WebAssessment/BugBountyTool/package.json .opencode/skills/Security/WebAssessment/BugBountyTool/package.json -RENAME .opencode/skills/WebAssessment/BugBountyTool/src/config.ts .opencode/skills/Security/WebAssessment/BugBountyTool/src/config.ts -RENAME .opencode/skills/WebAssessment/BugBountyTool/src/github.ts .opencode/skills/Security/WebAssessment/BugBountyTool/src/github.ts -RENAME .opencode/skills/WebAssessment/BugBountyTool/src/init.ts .opencode/skills/Security/WebAssessment/BugBountyTool/src/init.ts -RENAME .opencode/skills/WebAssessment/BugBountyTool/src/recon.ts .opencode/skills/Security/WebAssessment/BugBountyTool/src/recon.ts -RENAME .opencode/skills/WebAssessment/BugBountyTool/src/show.ts .opencode/skills/Security/WebAssessment/BugBountyTool/src/show.ts -RENAME .opencode/skills/WebAssessment/BugBountyTool/src/state.ts .opencode/skills/Security/WebAssessment/BugBountyTool/src/state.ts -RENAME .opencode/skills/WebAssessment/BugBountyTool/src/tracker.ts .opencode/skills/Security/WebAssessment/BugBountyTool/src/tracker.ts -RENAME .opencode/skills/WebAssessment/BugBountyTool/src/types.ts .opencode/skills/Security/WebAssessment/BugBountyTool/src/types.ts -RENAME .opencode/skills/WebAssessment/BugBountyTool/src/update.ts .opencode/skills/Security/WebAssessment/BugBountyTool/src/update.ts -RENAME .opencode/skills/WebAssessment/BugBountyTool/state.json .opencode/skills/Security/WebAssessment/BugBountyTool/state.json -RENAME .opencode/skills/WebAssessment/FfufResources/REQUEST_TEMPLATES.md .opencode/skills/Security/WebAssessment/FfufResources/REQUEST_TEMPLATES.md -RENAME .opencode/skills/WebAssessment/FfufResources/WORDLISTS.md .opencode/skills/Security/WebAssessment/FfufResources/WORDLISTS.md -RENAME .opencode/skills/WebAssessment/OsintTools/API-TOOLS-GUIDE.md .opencode/skills/Security/WebAssessment/OsintTools/API-TOOLS-GUIDE.md -RENAME .opencode/skills/WebAssessment/OsintTools/README.md .opencode/skills/Security/WebAssessment/OsintTools/README.md -RENAME .opencode/skills/WebAssessment/OsintTools/automation-frameworks-notes.md .opencode/skills/Security/WebAssessment/OsintTools/automation-frameworks-notes.md -RENAME .opencode/skills/WebAssessment/OsintTools/network-tools-notes.md .opencode/skills/Security/WebAssessment/OsintTools/network-tools-notes.md -RENAME .opencode/skills/WebAssessment/OsintTools/osint-api-tools.py .opencode/skills/Security/WebAssessment/OsintTools/osint-api-tools.py -RENAME .opencode/skills/WebAssessment/OsintTools/visualization-threat-intel-notes.md .opencode/skills/Security/WebAssessment/OsintTools/visualization-threat-intel-notes.md -RENAME .opencode/skills/WebAssessment/SKILL.md .opencode/skills/Security/WebAssessment/SKILL.md -RENAME .opencode/skills/WebAssessment/WebappExamples/console_logging.py .opencode/skills/Security/WebAssessment/WebappExamples/console_logging.py -RENAME .opencode/skills/WebAssessment/WebappExamples/element_discovery.py .opencode/skills/Security/WebAssessment/WebappExamples/element_discovery.py -RENAME .opencode/skills/WebAssessment/WebappExamples/static_html_automation.py .opencode/skills/Security/WebAssessment/WebappExamples/static_html_automation.py -RENAME .opencode/skills/WebAssessment/WebappScripts/with_server.py .opencode/skills/Security/WebAssessment/WebappScripts/with_server.py -RENAME .opencode/skills/WebAssessment/Workflows/CreateThreatModel.md .opencode/skills/Security/WebAssessment/Workflows/CreateThreatModel.md -RENAME .opencode/skills/WebAssessment/Workflows/UnderstandApplication.md .opencode/skills/Security/WebAssessment/Workflows/UnderstandApplication.md -RENAME .opencode/skills/WebAssessment/Workflows/VulnerabilityAnalysisGemini3.md .opencode/skills/Security/WebAssessment/Workflows/VulnerabilityAnalysisGemini3.md -RENAME .opencode/skills/WebAssessment/Workflows/bug-bounty/AutomationTool.md .opencode/skills/Security/WebAssessment/Workflows/bug-bounty/AutomationTool.md -RENAME .opencode/skills/WebAssessment/Workflows/bug-bounty/Programs.md .opencode/skills/Security/WebAssessment/Workflows/bug-bounty/Programs.md -RENAME .opencode/skills/WebAssessment/Workflows/ffuf/FfufGuide.md .opencode/skills/Security/WebAssessment/Workflows/ffuf/FfufGuide.md -RENAME .opencode/skills/WebAssessment/Workflows/ffuf/FfufHelper.md .opencode/skills/Security/WebAssessment/Workflows/ffuf/FfufHelper.md -RENAME .opencode/skills/WebAssessment/Workflows/osint/Automation.md .opencode/skills/Security/WebAssessment/Workflows/osint/Automation.md -RENAME .opencode/skills/WebAssessment/Workflows/osint/MasterGuide.md .opencode/skills/Security/WebAssessment/Workflows/osint/MasterGuide.md -RENAME .opencode/skills/WebAssessment/Workflows/osint/MetadataAnalysis.md .opencode/skills/Security/WebAssessment/Workflows/osint/MetadataAnalysis.md -RENAME .opencode/skills/WebAssessment/Workflows/osint/Reconnaissance.md .opencode/skills/Security/WebAssessment/Workflows/osint/Reconnaissance.md -RENAME .opencode/skills/WebAssessment/Workflows/osint/SocialMediaIntel.md .opencode/skills/Security/WebAssessment/Workflows/osint/SocialMediaIntel.md -RENAME .opencode/skills/WebAssessment/Workflows/pentest/Exploitation.md .opencode/skills/Security/WebAssessment/Workflows/pentest/Exploitation.md -RENAME .opencode/skills/WebAssessment/Workflows/pentest/MasterMethodology.md .opencode/skills/Security/WebAssessment/Workflows/pentest/MasterMethodology.md -RENAME .opencode/skills/WebAssessment/Workflows/pentest/Reconnaissance.md .opencode/skills/Security/WebAssessment/Workflows/pentest/Reconnaissance.md -RENAME .opencode/skills/WebAssessment/Workflows/pentest/ToolInventory.md .opencode/skills/Security/WebAssessment/Workflows/pentest/ToolInventory.md -RENAME .opencode/skills/WebAssessment/Workflows/webapp/Examples.md .opencode/skills/Security/WebAssessment/Workflows/webapp/Examples.md -RENAME .opencode/skills/WebAssessment/Workflows/webapp/TestingGuide.md .opencode/skills/Security/WebAssessment/Workflows/webapp/TestingGuide.md -RENAME .opencode/skills/WebAssessment/ffuf-helper.py .opencode/skills/Security/WebAssessment/ffuf-helper.py -RENAME .opencode/skills/BeCreative/Assets/creative-writing-template.md .opencode/skills/Thinking/BeCreative/Assets/creative-writing-template.md -RENAME .opencode/skills/BeCreative/Assets/idea-generation-template.md .opencode/skills/Thinking/BeCreative/Assets/idea-generation-template.md -RENAME .opencode/skills/BeCreative/Examples.md .opencode/skills/Thinking/BeCreative/Examples.md -RENAME .opencode/skills/BeCreative/Principles.md .opencode/skills/Thinking/BeCreative/Principles.md -RENAME .opencode/skills/BeCreative/ResearchFoundation.md .opencode/skills/Thinking/BeCreative/ResearchFoundation.md -RENAME .opencode/skills/BeCreative/SKILL.md .opencode/skills/Thinking/BeCreative/SKILL.md -RENAME .opencode/skills/BeCreative/Templates.md .opencode/skills/Thinking/BeCreative/Templates.md -RENAME .opencode/skills/BeCreative/Workflows/DomainSpecific.md .opencode/skills/Thinking/BeCreative/Workflows/DomainSpecific.md -RENAME .opencode/skills/BeCreative/Workflows/IdeaGeneration.md .opencode/skills/Thinking/BeCreative/Workflows/IdeaGeneration.md -RENAME .opencode/skills/BeCreative/Workflows/MaximumCreativity.md .opencode/skills/Thinking/BeCreative/Workflows/MaximumCreativity.md -RENAME .opencode/skills/BeCreative/Workflows/StandardCreativity.md .opencode/skills/Thinking/BeCreative/Workflows/StandardCreativity.md -RENAME .opencode/skills/BeCreative/Workflows/TechnicalCreativityGemini3.md .opencode/skills/Thinking/BeCreative/Workflows/TechnicalCreativityGemini3.md -RENAME .opencode/skills/BeCreative/Workflows/TreeOfThoughts.md .opencode/skills/Thinking/BeCreative/Workflows/TreeOfThoughts.md -RENAME .opencode/skills/Council/CouncilMembers.md .opencode/skills/Thinking/Council/CouncilMembers.md -RENAME .opencode/skills/Council/OutputFormat.md .opencode/skills/Thinking/Council/OutputFormat.md -RENAME .opencode/skills/Council/RoundStructure.md .opencode/skills/Thinking/Council/RoundStructure.md -RENAME .opencode/skills/Council/SKILL.md .opencode/skills/Thinking/Council/SKILL.md -RENAME .opencode/skills/Council/Workflows/Debate.md .opencode/skills/Thinking/Council/Workflows/Debate.md -RENAME .opencode/skills/Council/Workflows/Quick.md .opencode/skills/Thinking/Council/Workflows/Quick.md -RENAME .opencode/skills/FirstPrinciples/SKILL.md .opencode/skills/Thinking/FirstPrinciples/SKILL.md -RENAME .opencode/skills/FirstPrinciples/Workflows/Challenge.md .opencode/skills/Thinking/FirstPrinciples/Workflows/Challenge.md -RENAME .opencode/skills/FirstPrinciples/Workflows/Deconstruct.md .opencode/skills/Thinking/FirstPrinciples/Workflows/Deconstruct.md -RENAME .opencode/skills/FirstPrinciples/Workflows/Reconstruct.md .opencode/skills/Thinking/FirstPrinciples/Workflows/Reconstruct.md -RENAME .opencode/skills/IterativeDepth/SKILL.md .opencode/skills/Thinking/IterativeDepth/SKILL.md -RENAME .opencode/skills/IterativeDepth/ScientificFoundation.md .opencode/skills/Thinking/IterativeDepth/ScientificFoundation.md -RENAME .opencode/skills/IterativeDepth/TheLenses.md .opencode/skills/Thinking/IterativeDepth/TheLenses.md -RENAME .opencode/skills/IterativeDepth/Workflows/Explore.md .opencode/skills/Thinking/IterativeDepth/Workflows/Explore.md -RENAME .opencode/skills/RedTeam/Integration.md .opencode/skills/Thinking/RedTeam/Integration.md -RENAME .opencode/skills/RedTeam/Philosophy.md .opencode/skills/Thinking/RedTeam/Philosophy.md -RENAME .opencode/skills/RedTeam/SKILL.md .opencode/skills/Thinking/RedTeam/SKILL.md -RENAME .opencode/skills/RedTeam/Workflows/AdversarialValidation.md .opencode/skills/Thinking/RedTeam/Workflows/AdversarialValidation.md -RENAME .opencode/skills/RedTeam/Workflows/ParallelAnalysis.md .opencode/skills/Thinking/RedTeam/Workflows/ParallelAnalysis.md -ADD .opencode/skills/Thinking/SKILL.md -RENAME .opencode/skills/Science/Examples.md .opencode/skills/Thinking/Science/Examples.md -RENAME .opencode/skills/Science/METHODOLOGY.md .opencode/skills/Thinking/Science/METHODOLOGY.md -RENAME .opencode/skills/Science/Protocol.md .opencode/skills/Thinking/Science/Protocol.md -RENAME .opencode/skills/Science/SKILL.md .opencode/skills/Thinking/Science/SKILL.md -RENAME .opencode/skills/Science/Templates.md .opencode/skills/Thinking/Science/Templates.md -RENAME .opencode/skills/Science/Workflows/AnalyzeResults.md .opencode/skills/Thinking/Science/Workflows/AnalyzeResults.md -RENAME .opencode/skills/Science/Workflows/DefineGoal.md .opencode/skills/Thinking/Science/Workflows/DefineGoal.md -RENAME .opencode/skills/Science/Workflows/DesignExperiment.md .opencode/skills/Thinking/Science/Workflows/DesignExperiment.md -RENAME .opencode/skills/Science/Workflows/FullCycle.md .opencode/skills/Thinking/Science/Workflows/FullCycle.md -RENAME .opencode/skills/Science/Workflows/GenerateHypotheses.md .opencode/skills/Thinking/Science/Workflows/GenerateHypotheses.md -RENAME .opencode/skills/Science/Workflows/Iterate.md .opencode/skills/Thinking/Science/Workflows/Iterate.md -RENAME .opencode/skills/Science/Workflows/MeasureResults.md .opencode/skills/Thinking/Science/Workflows/MeasureResults.md -RENAME .opencode/skills/Science/Workflows/QuickDiagnosis.md .opencode/skills/Thinking/Science/Workflows/QuickDiagnosis.md -RENAME .opencode/skills/Science/Workflows/StructuredInvestigation.md .opencode/skills/Thinking/Science/Workflows/StructuredInvestigation.md -RENAME .opencode/skills/WorldThreatModelHarness/ModelTemplate.md .opencode/skills/Thinking/WorldThreatModelHarness/ModelTemplate.md -RENAME .opencode/skills/WorldThreatModelHarness/OutputFormat.md .opencode/skills/Thinking/WorldThreatModelHarness/OutputFormat.md -RENAME .opencode/skills/WorldThreatModelHarness/SKILL.md .opencode/skills/Thinking/WorldThreatModelHarness/SKILL.md -RENAME .opencode/skills/WorldThreatModelHarness/Workflows/TestIdea.md .opencode/skills/Thinking/WorldThreatModelHarness/Workflows/TestIdea.md -RENAME .opencode/skills/WorldThreatModelHarness/Workflows/UpdateModels.md .opencode/skills/Thinking/WorldThreatModelHarness/Workflows/UpdateModels.md -RENAME .opencode/skills/WorldThreatModelHarness/Workflows/ViewModels.md .opencode/skills/Thinking/WorldThreatModelHarness/Workflows/ViewModels.md diff --git a/docs/epic/pr-filelists/PR-04-files.txt b/docs/epic/pr-filelists/PR-04-files.txt deleted file mode 100644 index f095337a..00000000 --- a/docs/epic/pr-filelists/PR-04-files.txt +++ /dev/null @@ -1,130 +0,0 @@ -RENAME .opencode/skills/Fabric/Patterns/agility_story/system.md .opencode/skills/Utilities/Fabric/Patterns/agility_story/system.md -RENAME .opencode/skills/Fabric/Patterns/agility_story/user.md .opencode/skills/Utilities/Fabric/Patterns/agility_story/user.md -RENAME .opencode/skills/Fabric/Patterns/ai/system.md .opencode/skills/Utilities/Fabric/Patterns/ai/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_answers/README.md .opencode/skills/Utilities/Fabric/Patterns/analyze_answers/README.md -RENAME .opencode/skills/Fabric/Patterns/analyze_answers/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_answers/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_bill/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_bill/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_bill_short/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_bill_short/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_candidates/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_candidates/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_candidates/user.md .opencode/skills/Utilities/Fabric/Patterns/analyze_candidates/user.md -RENAME .opencode/skills/Fabric/Patterns/analyze_cfp_submission/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_cfp_submission/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_claims/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_claims/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_claims/user.md .opencode/skills/Utilities/Fabric/Patterns/analyze_claims/user.md -RENAME .opencode/skills/Fabric/Patterns/analyze_comments/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_comments/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_debate/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_debate/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_email_headers/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_email_headers/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_email_headers/user.md .opencode/skills/Utilities/Fabric/Patterns/analyze_email_headers/user.md -RENAME .opencode/skills/Fabric/Patterns/analyze_incident/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_incident/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_incident/user.md .opencode/skills/Utilities/Fabric/Patterns/analyze_incident/user.md -RENAME .opencode/skills/Fabric/Patterns/analyze_interviewer_techniques/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_interviewer_techniques/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_logs/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_logs/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_malware/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_malware/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_military_strategy/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_military_strategy/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_mistakes/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_mistakes/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_paper/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_paper/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_paper/user.md .opencode/skills/Utilities/Fabric/Patterns/analyze_paper/user.md -RENAME .opencode/skills/Fabric/Patterns/analyze_paper_simple/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_paper_simple/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_patent/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_patent/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_personality/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_personality/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_presentation/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_presentation/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_product_feedback/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_product_feedback/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_proposition/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_proposition/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_proposition/user.md .opencode/skills/Utilities/Fabric/Patterns/analyze_proposition/user.md -RENAME .opencode/skills/Fabric/Patterns/analyze_prose/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_prose/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_prose/user.md .opencode/skills/Utilities/Fabric/Patterns/analyze_prose/user.md -RENAME .opencode/skills/Fabric/Patterns/analyze_prose_json/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_prose_json/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_prose_json/user.md .opencode/skills/Utilities/Fabric/Patterns/analyze_prose_json/user.md -RENAME .opencode/skills/Fabric/Patterns/analyze_prose_pinker/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_prose_pinker/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_risk/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_risk/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_sales_call/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_sales_call/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_spiritual_text/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_spiritual_text/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_spiritual_text/user.md .opencode/skills/Utilities/Fabric/Patterns/analyze_spiritual_text/user.md -RENAME .opencode/skills/Fabric/Patterns/analyze_tech_impact/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_tech_impact/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_tech_impact/user.md .opencode/skills/Utilities/Fabric/Patterns/analyze_tech_impact/user.md -RENAME .opencode/skills/Fabric/Patterns/analyze_terraform_plan/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_terraform_plan/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_threat_report/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_threat_report/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_threat_report/user.md .opencode/skills/Utilities/Fabric/Patterns/analyze_threat_report/user.md -RENAME .opencode/skills/Fabric/Patterns/analyze_threat_report_cmds/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_threat_report_cmds/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_threat_report_trends/system.md .opencode/skills/Utilities/Fabric/Patterns/analyze_threat_report_trends/system.md -RENAME .opencode/skills/Fabric/Patterns/analyze_threat_report_trends/user.md .opencode/skills/Utilities/Fabric/Patterns/analyze_threat_report_trends/user.md -RENAME .opencode/skills/Fabric/Patterns/answer_interview_question/system.md .opencode/skills/Utilities/Fabric/Patterns/answer_interview_question/system.md -RENAME .opencode/skills/Fabric/Patterns/arbiter-create-ideal/system.md .opencode/skills/Utilities/Fabric/Patterns/arbiter-create-ideal/system.md -RENAME .opencode/skills/Fabric/Patterns/arbiter-evaluate-quality/system.md .opencode/skills/Utilities/Fabric/Patterns/arbiter-evaluate-quality/system.md -RENAME .opencode/skills/Fabric/Patterns/arbiter-general-evaluator/system.md .opencode/skills/Utilities/Fabric/Patterns/arbiter-general-evaluator/system.md -RENAME .opencode/skills/Fabric/Patterns/arbiter-run-prompt/system.md .opencode/skills/Utilities/Fabric/Patterns/arbiter-run-prompt/system.md -RENAME .opencode/skills/Fabric/Patterns/ask_secure_by_design_questions/system.md .opencode/skills/Utilities/Fabric/Patterns/ask_secure_by_design_questions/system.md -RENAME .opencode/skills/Fabric/Patterns/ask_uncle_duke/system.md .opencode/skills/Utilities/Fabric/Patterns/ask_uncle_duke/system.md -RENAME .opencode/skills/Fabric/Patterns/capture_thinkers_work/system.md .opencode/skills/Utilities/Fabric/Patterns/capture_thinkers_work/system.md -RENAME .opencode/skills/Fabric/Patterns/check_agreement/system.md .opencode/skills/Utilities/Fabric/Patterns/check_agreement/system.md -RENAME .opencode/skills/Fabric/Patterns/check_agreement/user.md .opencode/skills/Utilities/Fabric/Patterns/check_agreement/user.md -RENAME .opencode/skills/Fabric/Patterns/clean_text/system.md .opencode/skills/Utilities/Fabric/Patterns/clean_text/system.md -RENAME .opencode/skills/Fabric/Patterns/clean_text/user.md .opencode/skills/Utilities/Fabric/Patterns/clean_text/user.md -RENAME .opencode/skills/Fabric/Patterns/coding_master/system.md .opencode/skills/Utilities/Fabric/Patterns/coding_master/system.md -RENAME .opencode/skills/Fabric/Patterns/compare_and_contrast/system.md .opencode/skills/Utilities/Fabric/Patterns/compare_and_contrast/system.md -RENAME .opencode/skills/Fabric/Patterns/compare_and_contrast/user.md .opencode/skills/Utilities/Fabric/Patterns/compare_and_contrast/user.md -RENAME .opencode/skills/Fabric/Patterns/convert_to_markdown/system.md .opencode/skills/Utilities/Fabric/Patterns/convert_to_markdown/system.md -RENAME .opencode/skills/Fabric/Patterns/create_5_sentence_summary/system.md .opencode/skills/Utilities/Fabric/Patterns/create_5_sentence_summary/system.md -RENAME .opencode/skills/Fabric/Patterns/create_academic_paper/system.md .opencode/skills/Utilities/Fabric/Patterns/create_academic_paper/system.md -RENAME .opencode/skills/Fabric/Patterns/create_ai_jobs_analysis/system.md .opencode/skills/Utilities/Fabric/Patterns/create_ai_jobs_analysis/system.md -RENAME .opencode/skills/Fabric/Patterns/create_aphorisms/system.md .opencode/skills/Utilities/Fabric/Patterns/create_aphorisms/system.md -RENAME .opencode/skills/Fabric/Patterns/create_aphorisms/user.md .opencode/skills/Utilities/Fabric/Patterns/create_aphorisms/user.md -RENAME .opencode/skills/Fabric/Patterns/create_art_prompt/system.md .opencode/skills/Utilities/Fabric/Patterns/create_art_prompt/system.md -RENAME .opencode/skills/Fabric/Patterns/create_better_frame/system.md .opencode/skills/Utilities/Fabric/Patterns/create_better_frame/system.md -RENAME .opencode/skills/Fabric/Patterns/create_better_frame/user.md .opencode/skills/Utilities/Fabric/Patterns/create_better_frame/user.md -RENAME .opencode/skills/Fabric/Patterns/create_clint_summary/system.md .opencode/skills/Utilities/Fabric/Patterns/create_clint_summary/system.md -RENAME .opencode/skills/Fabric/Patterns/create_coding_feature/README.md .opencode/skills/Utilities/Fabric/Patterns/create_coding_feature/README.md -RENAME .opencode/skills/Fabric/Patterns/create_coding_feature/system.md .opencode/skills/Utilities/Fabric/Patterns/create_coding_feature/system.md -RENAME .opencode/skills/Fabric/Patterns/create_coding_project/README.md .opencode/skills/Utilities/Fabric/Patterns/create_coding_project/README.md -RENAME .opencode/skills/Fabric/Patterns/create_coding_project/system.md .opencode/skills/Utilities/Fabric/Patterns/create_coding_project/system.md -RENAME .opencode/skills/Fabric/Patterns/create_command/README.md .opencode/skills/Utilities/Fabric/Patterns/create_command/README.md -RENAME .opencode/skills/Fabric/Patterns/create_command/system.md .opencode/skills/Utilities/Fabric/Patterns/create_command/system.md -RENAME .opencode/skills/Fabric/Patterns/create_command/user.md .opencode/skills/Utilities/Fabric/Patterns/create_command/user.md -RENAME .opencode/skills/Fabric/Patterns/create_conceptmap/system.md .opencode/skills/Utilities/Fabric/Patterns/create_conceptmap/system.md -RENAME .opencode/skills/Fabric/Patterns/create_cyber_summary/system.md .opencode/skills/Utilities/Fabric/Patterns/create_cyber_summary/system.md -RENAME .opencode/skills/Fabric/Patterns/create_design_document/system.md .opencode/skills/Utilities/Fabric/Patterns/create_design_document/system.md -RENAME .opencode/skills/Fabric/Patterns/create_diy/system.md .opencode/skills/Utilities/Fabric/Patterns/create_diy/system.md -RENAME .opencode/skills/Fabric/Patterns/create_excalidraw_visualization/system.md .opencode/skills/Utilities/Fabric/Patterns/create_excalidraw_visualization/system.md -RENAME .opencode/skills/Fabric/Patterns/create_flash_cards/system.md .opencode/skills/Utilities/Fabric/Patterns/create_flash_cards/system.md -RENAME .opencode/skills/Fabric/Patterns/create_formal_email/system.md .opencode/skills/Utilities/Fabric/Patterns/create_formal_email/system.md -RENAME .opencode/skills/Fabric/Patterns/create_git_diff_commit/README.md .opencode/skills/Utilities/Fabric/Patterns/create_git_diff_commit/README.md -RENAME .opencode/skills/Fabric/Patterns/create_git_diff_commit/system.md .opencode/skills/Utilities/Fabric/Patterns/create_git_diff_commit/system.md -RENAME .opencode/skills/Fabric/Patterns/create_graph_from_input/system.md .opencode/skills/Utilities/Fabric/Patterns/create_graph_from_input/system.md -RENAME .opencode/skills/Fabric/Patterns/create_hormozi_offer/system.md .opencode/skills/Utilities/Fabric/Patterns/create_hormozi_offer/system.md -RENAME .opencode/skills/Fabric/Patterns/create_idea_compass/system.md .opencode/skills/Utilities/Fabric/Patterns/create_idea_compass/system.md -RENAME .opencode/skills/Fabric/Patterns/create_investigation_visualization/system.md .opencode/skills/Utilities/Fabric/Patterns/create_investigation_visualization/system.md -RENAME .opencode/skills/Fabric/Patterns/create_keynote/system.md .opencode/skills/Utilities/Fabric/Patterns/create_keynote/system.md -RENAME .opencode/skills/Fabric/Patterns/create_loe_document/system.md .opencode/skills/Utilities/Fabric/Patterns/create_loe_document/system.md -RENAME .opencode/skills/Fabric/Patterns/create_logo/system.md .opencode/skills/Utilities/Fabric/Patterns/create_logo/system.md -RENAME .opencode/skills/Fabric/Patterns/create_logo/user.md .opencode/skills/Utilities/Fabric/Patterns/create_logo/user.md -RENAME .opencode/skills/Fabric/Patterns/create_markmap_visualization/system.md .opencode/skills/Utilities/Fabric/Patterns/create_markmap_visualization/system.md -RENAME .opencode/skills/Fabric/Patterns/create_mermaid_visualization/system.md .opencode/skills/Utilities/Fabric/Patterns/create_mermaid_visualization/system.md -RENAME .opencode/skills/Fabric/Patterns/create_mermaid_visualization_for_github/system.md .opencode/skills/Utilities/Fabric/Patterns/create_mermaid_visualization_for_github/system.md -RENAME .opencode/skills/Fabric/Patterns/create_micro_summary/system.md .opencode/skills/Utilities/Fabric/Patterns/create_micro_summary/system.md -RENAME .opencode/skills/Fabric/Patterns/create_mnemonic_phrases/readme.md .opencode/skills/Utilities/Fabric/Patterns/create_mnemonic_phrases/readme.md -RENAME .opencode/skills/Fabric/Patterns/create_mnemonic_phrases/system.md .opencode/skills/Utilities/Fabric/Patterns/create_mnemonic_phrases/system.md -RENAME .opencode/skills/Fabric/Patterns/create_network_threat_landscape/system.md .opencode/skills/Utilities/Fabric/Patterns/create_network_threat_landscape/system.md -RENAME .opencode/skills/Fabric/Patterns/create_network_threat_landscape/user.md .opencode/skills/Utilities/Fabric/Patterns/create_network_threat_landscape/user.md -RENAME .opencode/skills/Fabric/Patterns/create_npc/system.md .opencode/skills/Utilities/Fabric/Patterns/create_npc/system.md -RENAME .opencode/skills/Fabric/Patterns/create_npc/user.md .opencode/skills/Utilities/Fabric/Patterns/create_npc/user.md -RENAME .opencode/skills/Fabric/Patterns/create_pattern/system.md .opencode/skills/Utilities/Fabric/Patterns/create_pattern/system.md -RENAME .opencode/skills/Fabric/Patterns/create_podcast_image/system.md .opencode/skills/Utilities/Fabric/Patterns/create_podcast_image/system.md -RENAME .opencode/skills/Fabric/Patterns/create_podcast_image/user.md .opencode/skills/Utilities/Fabric/Patterns/create_podcast_image/user.md -RENAME .opencode/skills/Fabric/Patterns/create_prd/system.md .opencode/skills/Utilities/Fabric/Patterns/create_prd/system.md -RENAME .opencode/skills/Fabric/Patterns/create_prediction_block/system.md .opencode/skills/Utilities/Fabric/Patterns/create_prediction_block/system.md -RENAME .opencode/skills/Fabric/Patterns/create_quiz/README.md .opencode/skills/Utilities/Fabric/Patterns/create_quiz/README.md -RENAME .opencode/skills/Fabric/Patterns/create_quiz/system.md .opencode/skills/Utilities/Fabric/Patterns/create_quiz/system.md -RENAME .opencode/skills/Fabric/Patterns/create_reading_plan/system.md .opencode/skills/Utilities/Fabric/Patterns/create_reading_plan/system.md -RENAME .opencode/skills/Fabric/Patterns/create_recursive_outline/system.md .opencode/skills/Utilities/Fabric/Patterns/create_recursive_outline/system.md -RENAME .opencode/skills/Fabric/Patterns/create_report_finding/system.md .opencode/skills/Utilities/Fabric/Patterns/create_report_finding/system.md -RENAME .opencode/skills/Fabric/Patterns/create_report_finding/user.md .opencode/skills/Utilities/Fabric/Patterns/create_report_finding/user.md -RENAME .opencode/skills/Fabric/Patterns/create_rpg_summary/system.md .opencode/skills/Utilities/Fabric/Patterns/create_rpg_summary/system.md -RENAME .opencode/skills/Fabric/Patterns/create_security_update/system.md .opencode/skills/Utilities/Fabric/Patterns/create_security_update/system.md -RENAME .opencode/skills/Fabric/Patterns/create_security_update/user.md .opencode/skills/Utilities/Fabric/Patterns/create_security_update/user.md -RENAME .opencode/skills/Fabric/Patterns/create_show_intro/system.md .opencode/skills/Utilities/Fabric/Patterns/create_show_intro/system.md -RENAME .opencode/skills/Fabric/Patterns/create_sigma_rules/system.md .opencode/skills/Utilities/Fabric/Patterns/create_sigma_rules/system.md -RENAME .opencode/skills/Fabric/Patterns/create_story_about_people_interaction/system.md .opencode/skills/Utilities/Fabric/Patterns/create_story_about_people_interaction/system.md -RENAME .opencode/skills/Fabric/Patterns/create_story_about_person/system.md .opencode/skills/Utilities/Fabric/Patterns/create_story_about_person/system.md -RENAME .opencode/skills/Fabric/Patterns/create_stride_threat_model/system.md .opencode/skills/Utilities/Fabric/Patterns/create_stride_threat_model/system.md -RENAME .opencode/skills/Fabric/Patterns/create_summary/system.md .opencode/skills/Utilities/Fabric/Patterns/create_summary/system.md -RENAME .opencode/skills/Fabric/Patterns/create_tags/system.md .opencode/skills/Utilities/Fabric/Patterns/create_tags/system.md -RENAME .opencode/skills/Fabric/Patterns/create_threat_model/system.md .opencode/skills/Utilities/Fabric/Patterns/create_threat_model/system.md diff --git a/docs/epic/pr-filelists/PR-05-files.txt b/docs/epic/pr-filelists/PR-05-files.txt deleted file mode 100644 index c25ee3ae..00000000 --- a/docs/epic/pr-filelists/PR-05-files.txt +++ /dev/null @@ -1,130 +0,0 @@ -RENAME .opencode/skills/Fabric/Patterns/create_threat_scenarios/system.md .opencode/skills/Utilities/Fabric/Patterns/create_threat_scenarios/system.md -RENAME .opencode/skills/Fabric/Patterns/create_ttrc_graph/system.md .opencode/skills/Utilities/Fabric/Patterns/create_ttrc_graph/system.md -RENAME .opencode/skills/Fabric/Patterns/create_ttrc_narrative/system.md .opencode/skills/Utilities/Fabric/Patterns/create_ttrc_narrative/system.md -RENAME .opencode/skills/Fabric/Patterns/create_upgrade_pack/system.md .opencode/skills/Utilities/Fabric/Patterns/create_upgrade_pack/system.md -RENAME .opencode/skills/Fabric/Patterns/create_user_story/system.md .opencode/skills/Utilities/Fabric/Patterns/create_user_story/system.md -RENAME .opencode/skills/Fabric/Patterns/create_video_chapters/system.md .opencode/skills/Utilities/Fabric/Patterns/create_video_chapters/system.md -RENAME .opencode/skills/Fabric/Patterns/create_video_chapters/user.md .opencode/skills/Utilities/Fabric/Patterns/create_video_chapters/user.md -RENAME .opencode/skills/Fabric/Patterns/create_visualization/system.md .opencode/skills/Utilities/Fabric/Patterns/create_visualization/system.md -RENAME .opencode/skills/Fabric/Patterns/dialog_with_socrates/system.md .opencode/skills/Utilities/Fabric/Patterns/dialog_with_socrates/system.md -RENAME .opencode/skills/Fabric/Patterns/enrich_blog_post/system.md .opencode/skills/Utilities/Fabric/Patterns/enrich_blog_post/system.md -RENAME .opencode/skills/Fabric/Patterns/explain_code/system.md .opencode/skills/Utilities/Fabric/Patterns/explain_code/system.md -RENAME .opencode/skills/Fabric/Patterns/explain_code/user.md .opencode/skills/Utilities/Fabric/Patterns/explain_code/user.md -RENAME .opencode/skills/Fabric/Patterns/explain_docs/system.md .opencode/skills/Utilities/Fabric/Patterns/explain_docs/system.md -RENAME .opencode/skills/Fabric/Patterns/explain_docs/user.md .opencode/skills/Utilities/Fabric/Patterns/explain_docs/user.md -RENAME .opencode/skills/Fabric/Patterns/explain_math/README.md .opencode/skills/Utilities/Fabric/Patterns/explain_math/README.md -RENAME .opencode/skills/Fabric/Patterns/explain_math/system.md .opencode/skills/Utilities/Fabric/Patterns/explain_math/system.md -RENAME .opencode/skills/Fabric/Patterns/explain_project/system.md .opencode/skills/Utilities/Fabric/Patterns/explain_project/system.md -RENAME .opencode/skills/Fabric/Patterns/explain_terms/system.md .opencode/skills/Utilities/Fabric/Patterns/explain_terms/system.md -RENAME .opencode/skills/Fabric/Patterns/export_data_as_csv/system.md .opencode/skills/Utilities/Fabric/Patterns/export_data_as_csv/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_algorithm_update_recommendations/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_algorithm_update_recommendations/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_algorithm_update_recommendations/user.md .opencode/skills/Utilities/Fabric/Patterns/extract_algorithm_update_recommendations/user.md -RENAME .opencode/skills/Fabric/Patterns/extract_alpha/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_alpha/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_article_wisdom/README.md .opencode/skills/Utilities/Fabric/Patterns/extract_article_wisdom/README.md -RENAME .opencode/skills/Fabric/Patterns/extract_article_wisdom/dmiessler/extract_wisdom-1.0.0/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_article_wisdom/dmiessler/extract_wisdom-1.0.0/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_article_wisdom/dmiessler/extract_wisdom-1.0.0/user.md .opencode/skills/Utilities/Fabric/Patterns/extract_article_wisdom/dmiessler/extract_wisdom-1.0.0/user.md -RENAME .opencode/skills/Fabric/Patterns/extract_article_wisdom/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_article_wisdom/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_article_wisdom/user.md .opencode/skills/Utilities/Fabric/Patterns/extract_article_wisdom/user.md -RENAME .opencode/skills/Fabric/Patterns/extract_book_ideas/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_book_ideas/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_book_recommendations/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_book_recommendations/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_business_ideas/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_business_ideas/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_characters/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_characters/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_controversial_ideas/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_controversial_ideas/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_core_message/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_core_message/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_ctf_writeup/README.md .opencode/skills/Utilities/Fabric/Patterns/extract_ctf_writeup/README.md -RENAME .opencode/skills/Fabric/Patterns/extract_ctf_writeup/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_ctf_writeup/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_domains/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_domains/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_extraordinary_claims/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_extraordinary_claims/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_ideas/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_ideas/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_insights/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_insights/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_instructions/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_instructions/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_jokes/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_jokes/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_latest_video/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_latest_video/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_main_activities/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_main_activities/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_main_idea/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_main_idea/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_mcp_servers/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_mcp_servers/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_most_redeeming_thing/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_most_redeeming_thing/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_patterns/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_patterns/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_poc/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_poc/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_poc/user.md .opencode/skills/Utilities/Fabric/Patterns/extract_poc/user.md -RENAME .opencode/skills/Fabric/Patterns/extract_predictions/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_predictions/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_primary_problem/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_primary_problem/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_primary_solution/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_primary_solution/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_product_features/README.md .opencode/skills/Utilities/Fabric/Patterns/extract_product_features/README.md -RENAME .opencode/skills/Fabric/Patterns/extract_product_features/dmiessler/extract_wisdom-1.0.0/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_product_features/dmiessler/extract_wisdom-1.0.0/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_product_features/dmiessler/extract_wisdom-1.0.0/user.md .opencode/skills/Utilities/Fabric/Patterns/extract_product_features/dmiessler/extract_wisdom-1.0.0/user.md -RENAME .opencode/skills/Fabric/Patterns/extract_product_features/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_product_features/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_questions/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_questions/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_recipe/README.md .opencode/skills/Utilities/Fabric/Patterns/extract_recipe/README.md -RENAME .opencode/skills/Fabric/Patterns/extract_recipe/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_recipe/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_recommendations/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_recommendations/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_recommendations/user.md .opencode/skills/Utilities/Fabric/Patterns/extract_recommendations/user.md -RENAME .opencode/skills/Fabric/Patterns/extract_references/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_references/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_references/user.md .opencode/skills/Utilities/Fabric/Patterns/extract_references/user.md -RENAME .opencode/skills/Fabric/Patterns/extract_skills/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_skills/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_song_meaning/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_song_meaning/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_sponsors/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_sponsors/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_videoid/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_videoid/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_videoid/user.md .opencode/skills/Utilities/Fabric/Patterns/extract_videoid/user.md -RENAME .opencode/skills/Fabric/Patterns/extract_wisdom/README.md .opencode/skills/Utilities/Fabric/Patterns/extract_wisdom/README.md -RENAME .opencode/skills/Fabric/Patterns/extract_wisdom/dmiessler/extract_wisdom-1.0.0/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_wisdom/dmiessler/extract_wisdom-1.0.0/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_wisdom/dmiessler/extract_wisdom-1.0.0/user.md .opencode/skills/Utilities/Fabric/Patterns/extract_wisdom/dmiessler/extract_wisdom-1.0.0/user.md -RENAME .opencode/skills/Fabric/Patterns/extract_wisdom/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_wisdom/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_wisdom_agents/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_wisdom_agents/system.md -RENAME .opencode/skills/Fabric/Patterns/extract_wisdom_nometa/system.md .opencode/skills/Utilities/Fabric/Patterns/extract_wisdom_nometa/system.md -RENAME .opencode/skills/Fabric/Patterns/find_female_life_partner/system.md .opencode/skills/Utilities/Fabric/Patterns/find_female_life_partner/system.md -RENAME .opencode/skills/Fabric/Patterns/find_hidden_message/system.md .opencode/skills/Utilities/Fabric/Patterns/find_hidden_message/system.md -RENAME .opencode/skills/Fabric/Patterns/find_logical_fallacies/system.md .opencode/skills/Utilities/Fabric/Patterns/find_logical_fallacies/system.md -RENAME .opencode/skills/Fabric/Patterns/fix_typos/system.md .opencode/skills/Utilities/Fabric/Patterns/fix_typos/system.md -RENAME .opencode/skills/Fabric/Patterns/generate_code_rules/system.md .opencode/skills/Utilities/Fabric/Patterns/generate_code_rules/system.md -RENAME .opencode/skills/Fabric/Patterns/get_wow_per_minute/system.md .opencode/skills/Utilities/Fabric/Patterns/get_wow_per_minute/system.md -RENAME .opencode/skills/Fabric/Patterns/get_youtube_rss/system.md .opencode/skills/Utilities/Fabric/Patterns/get_youtube_rss/system.md -RENAME .opencode/skills/Fabric/Patterns/heal_person/system.md .opencode/skills/Utilities/Fabric/Patterns/heal_person/system.md -RENAME .opencode/skills/Fabric/Patterns/humanize/README.md .opencode/skills/Utilities/Fabric/Patterns/humanize/README.md -RENAME .opencode/skills/Fabric/Patterns/humanize/system.md .opencode/skills/Utilities/Fabric/Patterns/humanize/system.md -RENAME .opencode/skills/Fabric/Patterns/identify_dsrp_distinctions/system.md .opencode/skills/Utilities/Fabric/Patterns/identify_dsrp_distinctions/system.md -RENAME .opencode/skills/Fabric/Patterns/identify_dsrp_perspectives/system.md .opencode/skills/Utilities/Fabric/Patterns/identify_dsrp_perspectives/system.md -RENAME .opencode/skills/Fabric/Patterns/identify_dsrp_relationships/system.md .opencode/skills/Utilities/Fabric/Patterns/identify_dsrp_relationships/system.md -RENAME .opencode/skills/Fabric/Patterns/identify_dsrp_systems/system.md .opencode/skills/Utilities/Fabric/Patterns/identify_dsrp_systems/system.md -RENAME .opencode/skills/Fabric/Patterns/identify_job_stories/system.md .opencode/skills/Utilities/Fabric/Patterns/identify_job_stories/system.md -RENAME .opencode/skills/Fabric/Patterns/improve_academic_writing/system.md .opencode/skills/Utilities/Fabric/Patterns/improve_academic_writing/system.md -RENAME .opencode/skills/Fabric/Patterns/improve_academic_writing/user.md .opencode/skills/Utilities/Fabric/Patterns/improve_academic_writing/user.md -RENAME .opencode/skills/Fabric/Patterns/improve_prompt/system.md .opencode/skills/Utilities/Fabric/Patterns/improve_prompt/system.md -RENAME .opencode/skills/Fabric/Patterns/improve_report_finding/system.md .opencode/skills/Utilities/Fabric/Patterns/improve_report_finding/system.md -RENAME .opencode/skills/Fabric/Patterns/improve_report_finding/user.md .opencode/skills/Utilities/Fabric/Patterns/improve_report_finding/user.md -RENAME .opencode/skills/Fabric/Patterns/improve_writing/system.md .opencode/skills/Utilities/Fabric/Patterns/improve_writing/system.md -RENAME .opencode/skills/Fabric/Patterns/improve_writing/user.md .opencode/skills/Utilities/Fabric/Patterns/improve_writing/user.md -RENAME .opencode/skills/Fabric/Patterns/judge_output/system.md .opencode/skills/Utilities/Fabric/Patterns/judge_output/system.md -RENAME .opencode/skills/Fabric/Patterns/label_and_rate/system.md .opencode/skills/Utilities/Fabric/Patterns/label_and_rate/system.md -RENAME .opencode/skills/Fabric/Patterns/loaded .opencode/skills/Utilities/Fabric/Patterns/loaded -RENAME .opencode/skills/Fabric/Patterns/md_callout/system.md .opencode/skills/Utilities/Fabric/Patterns/md_callout/system.md -RENAME .opencode/skills/Fabric/Patterns/model_as_sherlock_freud/system.md .opencode/skills/Utilities/Fabric/Patterns/model_as_sherlock_freud/system.md -RENAME .opencode/skills/Fabric/Patterns/official_pattern_template/system.md .opencode/skills/Utilities/Fabric/Patterns/official_pattern_template/system.md -RENAME .opencode/skills/Fabric/Patterns/pattern_explanations.md .opencode/skills/Utilities/Fabric/Patterns/pattern_explanations.md -RENAME .opencode/skills/Fabric/Patterns/predict_person_actions/system.md .opencode/skills/Utilities/Fabric/Patterns/predict_person_actions/system.md -RENAME .opencode/skills/Fabric/Patterns/prepare_7s_strategy/system.md .opencode/skills/Utilities/Fabric/Patterns/prepare_7s_strategy/system.md -RENAME .opencode/skills/Fabric/Patterns/provide_guidance/system.md .opencode/skills/Utilities/Fabric/Patterns/provide_guidance/system.md -RENAME .opencode/skills/Fabric/Patterns/rate_ai_response/system.md .opencode/skills/Utilities/Fabric/Patterns/rate_ai_response/system.md -RENAME .opencode/skills/Fabric/Patterns/rate_ai_result/system.md .opencode/skills/Utilities/Fabric/Patterns/rate_ai_result/system.md -RENAME .opencode/skills/Fabric/Patterns/rate_content/system.md .opencode/skills/Utilities/Fabric/Patterns/rate_content/system.md -RENAME .opencode/skills/Fabric/Patterns/rate_content/user.md .opencode/skills/Utilities/Fabric/Patterns/rate_content/user.md -RENAME .opencode/skills/Fabric/Patterns/rate_value/README.md .opencode/skills/Utilities/Fabric/Patterns/rate_value/README.md -RENAME .opencode/skills/Fabric/Patterns/rate_value/system.md .opencode/skills/Utilities/Fabric/Patterns/rate_value/system.md -RENAME .opencode/skills/Fabric/Patterns/rate_value/user.md .opencode/skills/Utilities/Fabric/Patterns/rate_value/user.md -RENAME .opencode/skills/Fabric/Patterns/raw_query/system.md .opencode/skills/Utilities/Fabric/Patterns/raw_query/system.md -RENAME .opencode/skills/Fabric/Patterns/raycast/capture_thinkers_work .opencode/skills/Utilities/Fabric/Patterns/raycast/capture_thinkers_work -RENAME .opencode/skills/Fabric/Patterns/raycast/create_story_explanation .opencode/skills/Utilities/Fabric/Patterns/raycast/create_story_explanation -RENAME .opencode/skills/Fabric/Patterns/raycast/extract_primary_problem .opencode/skills/Utilities/Fabric/Patterns/raycast/extract_primary_problem -RENAME .opencode/skills/Fabric/Patterns/raycast/extract_wisdom .opencode/skills/Utilities/Fabric/Patterns/raycast/extract_wisdom -RENAME .opencode/skills/Fabric/Patterns/raycast/yt .opencode/skills/Utilities/Fabric/Patterns/raycast/yt -RENAME .opencode/skills/Fabric/Patterns/recommend_artists/system.md .opencode/skills/Utilities/Fabric/Patterns/recommend_artists/system.md -RENAME .opencode/skills/Fabric/Patterns/recommend_pipeline_upgrades/system.md .opencode/skills/Utilities/Fabric/Patterns/recommend_pipeline_upgrades/system.md -RENAME .opencode/skills/Fabric/Patterns/recommend_yoga_practice/system.md .opencode/skills/Utilities/Fabric/Patterns/recommend_yoga_practice/system.md -RENAME .opencode/skills/Fabric/Patterns/refine_design_document/system.md .opencode/skills/Utilities/Fabric/Patterns/refine_design_document/system.md -RENAME .opencode/skills/Fabric/Patterns/review_code/system.md .opencode/skills/Utilities/Fabric/Patterns/review_code/system.md -RENAME .opencode/skills/Fabric/Patterns/review_design/system.md .opencode/skills/Utilities/Fabric/Patterns/review_design/system.md -RENAME .opencode/skills/Fabric/Patterns/show_fabric_options_markmap/system.md .opencode/skills/Utilities/Fabric/Patterns/show_fabric_options_markmap/system.md -RENAME .opencode/skills/Fabric/Patterns/solve_with_cot/system.md .opencode/skills/Utilities/Fabric/Patterns/solve_with_cot/system.md -RENAME .opencode/skills/Fabric/Patterns/suggest_pattern/system.md .opencode/skills/Utilities/Fabric/Patterns/suggest_pattern/system.md -RENAME .opencode/skills/Fabric/Patterns/suggest_pattern/user.md .opencode/skills/Utilities/Fabric/Patterns/suggest_pattern/user.md -RENAME .opencode/skills/Fabric/Patterns/suggest_pattern/user_clean.md .opencode/skills/Utilities/Fabric/Patterns/suggest_pattern/user_clean.md diff --git a/docs/epic/pr-filelists/PR-06-files.txt b/docs/epic/pr-filelists/PR-06-files.txt deleted file mode 100644 index 0f546f0f..00000000 --- a/docs/epic/pr-filelists/PR-06-files.txt +++ /dev/null @@ -1,58 +0,0 @@ -RENAME .opencode/skills/Fabric/Patterns/suggest_pattern/user_updated.md .opencode/skills/Utilities/Fabric/Patterns/suggest_pattern/user_updated.md -RENAME .opencode/skills/Fabric/Patterns/summarize/dmiessler/summarize/system.md .opencode/skills/Utilities/Fabric/Patterns/summarize/dmiessler/summarize/system.md -RENAME .opencode/skills/Fabric/Patterns/summarize/dmiessler/summarize/user.md .opencode/skills/Utilities/Fabric/Patterns/summarize/dmiessler/summarize/user.md -RENAME .opencode/skills/Fabric/Patterns/summarize/system.md .opencode/skills/Utilities/Fabric/Patterns/summarize/system.md -RENAME .opencode/skills/Fabric/Patterns/summarize/user.md .opencode/skills/Utilities/Fabric/Patterns/summarize/user.md -RENAME .opencode/skills/Fabric/Patterns/summarize_board_meeting/system.md .opencode/skills/Utilities/Fabric/Patterns/summarize_board_meeting/system.md -RENAME .opencode/skills/Fabric/Patterns/summarize_debate/system.md .opencode/skills/Utilities/Fabric/Patterns/summarize_debate/system.md -RENAME .opencode/skills/Fabric/Patterns/summarize_git_changes/system.md .opencode/skills/Utilities/Fabric/Patterns/summarize_git_changes/system.md -RENAME .opencode/skills/Fabric/Patterns/summarize_git_diff/system.md .opencode/skills/Utilities/Fabric/Patterns/summarize_git_diff/system.md -RENAME .opencode/skills/Fabric/Patterns/summarize_lecture/system.md .opencode/skills/Utilities/Fabric/Patterns/summarize_lecture/system.md -RENAME .opencode/skills/Fabric/Patterns/summarize_legislation/system.md .opencode/skills/Utilities/Fabric/Patterns/summarize_legislation/system.md -RENAME .opencode/skills/Fabric/Patterns/summarize_meeting/system.md .opencode/skills/Utilities/Fabric/Patterns/summarize_meeting/system.md -RENAME .opencode/skills/Fabric/Patterns/summarize_micro/system.md .opencode/skills/Utilities/Fabric/Patterns/summarize_micro/system.md -RENAME .opencode/skills/Fabric/Patterns/summarize_micro/user.md .opencode/skills/Utilities/Fabric/Patterns/summarize_micro/user.md -RENAME .opencode/skills/Fabric/Patterns/summarize_paper/README.md .opencode/skills/Utilities/Fabric/Patterns/summarize_paper/README.md -RENAME .opencode/skills/Fabric/Patterns/summarize_paper/system.md .opencode/skills/Utilities/Fabric/Patterns/summarize_paper/system.md -RENAME .opencode/skills/Fabric/Patterns/summarize_paper/user.md .opencode/skills/Utilities/Fabric/Patterns/summarize_paper/user.md -RENAME .opencode/skills/Fabric/Patterns/summarize_prompt/system.md .opencode/skills/Utilities/Fabric/Patterns/summarize_prompt/system.md -RENAME .opencode/skills/Fabric/Patterns/summarize_pull-requests/system.md .opencode/skills/Utilities/Fabric/Patterns/summarize_pull-requests/system.md -RENAME .opencode/skills/Fabric/Patterns/summarize_pull-requests/user.md .opencode/skills/Utilities/Fabric/Patterns/summarize_pull-requests/user.md -RENAME .opencode/skills/Fabric/Patterns/summarize_rpg_session/system.md .opencode/skills/Utilities/Fabric/Patterns/summarize_rpg_session/system.md -RENAME .opencode/skills/Fabric/Patterns/t_analyze_challenge_handling/system.md .opencode/skills/Utilities/Fabric/Patterns/t_analyze_challenge_handling/system.md -RENAME .opencode/skills/Fabric/Patterns/t_check_dunning_kruger/system.md .opencode/skills/Utilities/Fabric/Patterns/t_check_dunning_kruger/system.md -RENAME .opencode/skills/Fabric/Patterns/t_check_metrics/system.md .opencode/skills/Utilities/Fabric/Patterns/t_check_metrics/system.md -RENAME .opencode/skills/Fabric/Patterns/t_create_h3_career/system.md .opencode/skills/Utilities/Fabric/Patterns/t_create_h3_career/system.md -RENAME .opencode/skills/Fabric/Patterns/t_create_opening_sentences/system.md .opencode/skills/Utilities/Fabric/Patterns/t_create_opening_sentences/system.md -RENAME .opencode/skills/Fabric/Patterns/t_describe_life_outlook/system.md .opencode/skills/Utilities/Fabric/Patterns/t_describe_life_outlook/system.md -RENAME .opencode/skills/Fabric/Patterns/t_extract_intro_sentences/system.md .opencode/skills/Utilities/Fabric/Patterns/t_extract_intro_sentences/system.md -RENAME .opencode/skills/Fabric/Patterns/t_extract_panel_topics/system.md .opencode/skills/Utilities/Fabric/Patterns/t_extract_panel_topics/system.md -RENAME .opencode/skills/Fabric/Patterns/t_find_blindspots/system.md .opencode/skills/Utilities/Fabric/Patterns/t_find_blindspots/system.md -RENAME .opencode/skills/Fabric/Patterns/t_find_negative_thinking/system.md .opencode/skills/Utilities/Fabric/Patterns/t_find_negative_thinking/system.md -RENAME .opencode/skills/Fabric/Patterns/t_find_neglected_goals/system.md .opencode/skills/Utilities/Fabric/Patterns/t_find_neglected_goals/system.md -RENAME .opencode/skills/Fabric/Patterns/t_give_encouragement/system.md .opencode/skills/Utilities/Fabric/Patterns/t_give_encouragement/system.md -RENAME .opencode/skills/Fabric/Patterns/t_red_team_thinking/system.md .opencode/skills/Utilities/Fabric/Patterns/t_red_team_thinking/system.md -RENAME .opencode/skills/Fabric/Patterns/t_threat_model_plans/system.md .opencode/skills/Utilities/Fabric/Patterns/t_threat_model_plans/system.md -RENAME .opencode/skills/Fabric/Patterns/t_visualize_mission_goals_projects/system.md .opencode/skills/Utilities/Fabric/Patterns/t_visualize_mission_goals_projects/system.md -RENAME .opencode/skills/Fabric/Patterns/t_year_in_review/system.md .opencode/skills/Utilities/Fabric/Patterns/t_year_in_review/system.md -RENAME .opencode/skills/Fabric/Patterns/threshold/system.md .opencode/skills/Utilities/Fabric/Patterns/threshold/system.md -RENAME .opencode/skills/Fabric/Patterns/to_flashcards/system.md .opencode/skills/Utilities/Fabric/Patterns/to_flashcards/system.md -RENAME .opencode/skills/Fabric/Patterns/transcribe_minutes/README.md .opencode/skills/Utilities/Fabric/Patterns/transcribe_minutes/README.md -RENAME .opencode/skills/Fabric/Patterns/transcribe_minutes/system.md .opencode/skills/Utilities/Fabric/Patterns/transcribe_minutes/system.md -RENAME .opencode/skills/Fabric/Patterns/translate/system.md .opencode/skills/Utilities/Fabric/Patterns/translate/system.md -RENAME .opencode/skills/Fabric/Patterns/tweet/system.md .opencode/skills/Utilities/Fabric/Patterns/tweet/system.md -RENAME .opencode/skills/Fabric/Patterns/write_essay/system.md .opencode/skills/Utilities/Fabric/Patterns/write_essay/system.md -RENAME .opencode/skills/Fabric/Patterns/write_essay_pg/system.md .opencode/skills/Utilities/Fabric/Patterns/write_essay_pg/system.md -RENAME .opencode/skills/Fabric/Patterns/write_hackerone_report/README.md .opencode/skills/Utilities/Fabric/Patterns/write_hackerone_report/README.md -RENAME .opencode/skills/Fabric/Patterns/write_hackerone_report/system.md .opencode/skills/Utilities/Fabric/Patterns/write_hackerone_report/system.md -RENAME .opencode/skills/Fabric/Patterns/write_latex/system.md .opencode/skills/Utilities/Fabric/Patterns/write_latex/system.md -RENAME .opencode/skills/Fabric/Patterns/write_micro_essay/system.md .opencode/skills/Utilities/Fabric/Patterns/write_micro_essay/system.md -RENAME .opencode/skills/Fabric/Patterns/write_nuclei_template_rule/system.md .opencode/skills/Utilities/Fabric/Patterns/write_nuclei_template_rule/system.md -RENAME .opencode/skills/Fabric/Patterns/write_nuclei_template_rule/user.md .opencode/skills/Utilities/Fabric/Patterns/write_nuclei_template_rule/user.md -RENAME .opencode/skills/Fabric/Patterns/write_pull-request/system.md .opencode/skills/Utilities/Fabric/Patterns/write_pull-request/system.md -RENAME .opencode/skills/Fabric/Patterns/write_semgrep_rule/system.md .opencode/skills/Utilities/Fabric/Patterns/write_semgrep_rule/system.md -RENAME .opencode/skills/Fabric/Patterns/write_semgrep_rule/user.md .opencode/skills/Utilities/Fabric/Patterns/write_semgrep_rule/user.md -RENAME .opencode/skills/Fabric/Patterns/youtube_summary/system.md .opencode/skills/Utilities/Fabric/Patterns/youtube_summary/system.md -RENAME .opencode/skills/Fabric/SKILL.md .opencode/skills/Utilities/Fabric/SKILL.md -RENAME .opencode/skills/Fabric/Workflows/ExecutePattern.md .opencode/skills/Utilities/Fabric/Workflows/ExecutePattern.md -RENAME .opencode/skills/Fabric/Workflows/UpdatePatterns.md .opencode/skills/Utilities/Fabric/Workflows/UpdatePatterns.md diff --git a/docs/epic/pr-filelists/PR-07-files.txt b/docs/epic/pr-filelists/PR-07-files.txt deleted file mode 100644 index 956a49a9..00000000 --- a/docs/epic/pr-filelists/PR-07-files.txt +++ /dev/null @@ -1,130 +0,0 @@ -RENAME .opencode/skills/Aphorisms/Database/aphorisms.md .opencode/skills/Utilities/Aphorisms/Database/aphorisms.md -RENAME .opencode/skills/Aphorisms/SKILL.md .opencode/skills/Utilities/Aphorisms/SKILL.md -RENAME .opencode/skills/Aphorisms/Workflows/AddAphorism.md .opencode/skills/Utilities/Aphorisms/Workflows/AddAphorism.md -RENAME .opencode/skills/Aphorisms/Workflows/FindAphorism.md .opencode/skills/Utilities/Aphorisms/Workflows/FindAphorism.md -RENAME .opencode/skills/Aphorisms/Workflows/ResearchThinker.md .opencode/skills/Utilities/Aphorisms/Workflows/ResearchThinker.md -RENAME .opencode/skills/Aphorisms/Workflows/SearchAphorisms.md .opencode/skills/Utilities/Aphorisms/Workflows/SearchAphorisms.md -RENAME .opencode/skills/Browser/README.md .opencode/skills/Utilities/Browser/README.md -RENAME .opencode/skills/Browser/SKILL.md .opencode/skills/Utilities/Browser/SKILL.md -RENAME .opencode/skills/Browser/Tools/Browse.ts .opencode/skills/Utilities/Browser/Tools/Browse.ts -RENAME .opencode/skills/Browser/Tools/BrowserSession.ts .opencode/skills/Utilities/Browser/Tools/BrowserSession.ts -RENAME .opencode/skills/Browser/Workflows/Extract.md .opencode/skills/Utilities/Browser/Workflows/Extract.md -RENAME .opencode/skills/Browser/Workflows/Interact.md .opencode/skills/Utilities/Browser/Workflows/Interact.md -RENAME .opencode/skills/Browser/Workflows/Screenshot.md .opencode/skills/Utilities/Browser/Workflows/Screenshot.md -RENAME .opencode/skills/Browser/Workflows/Update.md .opencode/skills/Utilities/Browser/Workflows/Update.md -RENAME .opencode/skills/Browser/Workflows/VerifyPage.md .opencode/skills/Utilities/Browser/Workflows/VerifyPage.md -RENAME .opencode/skills/Browser/bun.lock .opencode/skills/Utilities/Browser/bun.lock -RENAME .opencode/skills/Browser/examples/comprehensive-test.ts .opencode/skills/Utilities/Browser/examples/comprehensive-test.ts -RENAME .opencode/skills/Browser/examples/screenshot.ts .opencode/skills/Utilities/Browser/examples/screenshot.ts -RENAME .opencode/skills/Browser/examples/verify-page.ts .opencode/skills/Utilities/Browser/examples/verify-page.ts -RENAME .opencode/skills/Browser/index.ts .opencode/skills/Utilities/Browser/index.ts -RENAME .opencode/skills/Browser/package.json .opencode/skills/Utilities/Browser/package.json -RENAME .opencode/skills/Browser/tsconfig.json .opencode/skills/Utilities/Browser/tsconfig.json -RENAME .opencode/skills/Cloudflare/SKILL.md .opencode/skills/Utilities/Cloudflare/SKILL.md -RENAME .opencode/skills/Cloudflare/Workflows/Create.md .opencode/skills/Utilities/Cloudflare/Workflows/Create.md -RENAME .opencode/skills/Cloudflare/Workflows/Troubleshoot.md .opencode/skills/Utilities/Cloudflare/Workflows/Troubleshoot.md -RENAME .opencode/skills/CreateCLI/FrameworkComparison.md .opencode/skills/Utilities/CreateCLI/FrameworkComparison.md -RENAME .opencode/skills/CreateCLI/Patterns.md .opencode/skills/Utilities/CreateCLI/Patterns.md -RENAME .opencode/skills/CreateCLI/SKILL.md .opencode/skills/Utilities/CreateCLI/SKILL.md -RENAME .opencode/skills/CreateCLI/TypescriptPatterns.md .opencode/skills/Utilities/CreateCLI/TypescriptPatterns.md -RENAME .opencode/skills/CreateCLI/Workflows/AddCommand.md .opencode/skills/Utilities/CreateCLI/Workflows/AddCommand.md -RENAME .opencode/skills/CreateCLI/Workflows/CreateCli.md .opencode/skills/Utilities/CreateCLI/Workflows/CreateCli.md -RENAME .opencode/skills/CreateCLI/Workflows/UpgradeTier.md .opencode/skills/Utilities/CreateCLI/Workflows/UpgradeTier.md -RENAME .opencode/skills/CreateSkill/SKILL.md .opencode/skills/Utilities/CreateSkill/SKILL.md -RENAME .opencode/skills/CreateSkill/workflows/CanonicalizeSkill.md .opencode/skills/Utilities/CreateSkill/Workflows/CanonicalizeSkill.md -RENAME .opencode/skills/CreateSkill/workflows/CreateSkill.md .opencode/skills/Utilities/CreateSkill/Workflows/CreateSkill.md -RENAME .opencode/skills/CreateSkill/workflows/UpdateSkill.md .opencode/skills/Utilities/CreateSkill/Workflows/UpdateSkill.md -RENAME .opencode/skills/CreateSkill/workflows/ValidateSkill.md .opencode/skills/Utilities/CreateSkill/Workflows/ValidateSkill.md -ADD .opencode/skills/Utilities/Delegation/SKILL.md -RENAME .opencode/skills/Documents/SKILL.md .opencode/skills/Utilities/Documents/SKILL.md -RENAME .opencode/skills/Documents/Workflows/ProcessLargePdfGemini3.md .opencode/skills/Utilities/Documents/Workflows/ProcessLargePdfGemini3.md -RENAME .opencode/skills/Documents/Docx/LICENSE.txt .opencode/skills/Utilities/Docx/LICENSE.txt -RENAME .opencode/skills/Documents/Docx/Ooxml/Scripts/pack.py .opencode/skills/Utilities/Docx/Ooxml/Scripts/pack.py -RENAME .opencode/skills/Documents/Docx/Ooxml/Scripts/unpack.py .opencode/skills/Utilities/Docx/Ooxml/Scripts/unpack.py -RENAME .opencode/skills/Documents/Docx/Ooxml/Scripts/validate.py .opencode/skills/Utilities/Docx/Ooxml/Scripts/validate.py -RENAME .opencode/skills/Documents/Docx/SKILL.md .opencode/skills/Utilities/Docx/SKILL.md -RENAME .opencode/skills/Documents/Docx/Scripts/__init__.py .opencode/skills/Utilities/Docx/Scripts/__init__.py -RENAME .opencode/skills/Documents/Docx/Scripts/document.py .opencode/skills/Utilities/Docx/Scripts/document.py -RENAME .opencode/skills/Documents/Docx/Scripts/utilities.py .opencode/skills/Utilities/Docx/Scripts/utilities.py -RENAME .opencode/skills/Documents/Docx/docx-js.md .opencode/skills/Utilities/Docx/docx-js.md -RENAME .opencode/skills/Documents/Docx/ooxml.md .opencode/skills/Utilities/Docx/ooxml.md -RENAME .opencode/skills/Evals/BestPractices.md .opencode/skills/Utilities/Evals/BestPractices.md -RENAME .opencode/skills/Evals/CLIReference.md .opencode/skills/Utilities/Evals/CLIReference.md -RENAME .opencode/skills/Evals/Data/DomainPatterns.yaml .opencode/skills/Utilities/Evals/Data/DomainPatterns.yaml -RENAME .opencode/skills/Evals/Graders/Base.ts .opencode/skills/Utilities/Evals/Graders/Base.ts -RENAME .opencode/skills/Evals/Graders/CodeBased/BinaryTests.ts .opencode/skills/Utilities/Evals/Graders/CodeBased/BinaryTests.ts -RENAME .opencode/skills/Evals/Graders/CodeBased/RegexMatch.ts .opencode/skills/Utilities/Evals/Graders/CodeBased/RegexMatch.ts -RENAME .opencode/skills/Evals/Graders/CodeBased/StateCheck.ts .opencode/skills/Utilities/Evals/Graders/CodeBased/StateCheck.ts -RENAME .opencode/skills/Evals/Graders/CodeBased/StaticAnalysis.ts .opencode/skills/Utilities/Evals/Graders/CodeBased/StaticAnalysis.ts -RENAME .opencode/skills/Evals/Graders/CodeBased/StringMatch.ts .opencode/skills/Utilities/Evals/Graders/CodeBased/StringMatch.ts -RENAME .opencode/skills/Evals/Graders/CodeBased/ToolCallVerification.ts .opencode/skills/Utilities/Evals/Graders/CodeBased/ToolCallVerification.ts -RENAME .opencode/skills/Evals/Graders/CodeBased/index.ts .opencode/skills/Utilities/Evals/Graders/CodeBased/index.ts -RENAME .opencode/skills/Evals/Graders/ModelBased/LLMRubric.ts .opencode/skills/Utilities/Evals/Graders/ModelBased/LLMRubric.ts -RENAME .opencode/skills/Evals/Graders/ModelBased/NaturalLanguageAssert.ts .opencode/skills/Utilities/Evals/Graders/ModelBased/NaturalLanguageAssert.ts -RENAME .opencode/skills/Evals/Graders/ModelBased/PairwiseComparison.ts .opencode/skills/Utilities/Evals/Graders/ModelBased/PairwiseComparison.ts -RENAME .opencode/skills/Evals/Graders/ModelBased/index.ts .opencode/skills/Utilities/Evals/Graders/ModelBased/index.ts -RENAME .opencode/skills/Evals/Graders/index.ts .opencode/skills/Utilities/Evals/Graders/index.ts -RENAME .opencode/skills/Evals/PROJECT.md .opencode/skills/Utilities/Evals/PROJECT.md -RENAME .opencode/skills/Evals/SKILL.md .opencode/skills/Utilities/Evals/SKILL.md -RENAME .opencode/skills/Evals/ScienceMapping.md .opencode/skills/Utilities/Evals/ScienceMapping.md -RENAME .opencode/skills/Evals/ScorerTypes.md .opencode/skills/Utilities/Evals/ScorerTypes.md -RENAME .opencode/skills/Evals/Suites/Regression/core-behaviors.yaml .opencode/skills/Utilities/Evals/Suites/Regression/core-behaviors.yaml -RENAME .opencode/skills/Evals/TemplateIntegration.md .opencode/skills/Utilities/Evals/TemplateIntegration.md -RENAME .opencode/skills/Evals/Tools/AlgorithmBridge.ts .opencode/skills/Utilities/Evals/Tools/AlgorithmBridge.ts -RENAME .opencode/skills/Evals/Tools/FailureToTask.ts .opencode/skills/Utilities/Evals/Tools/FailureToTask.ts -RENAME .opencode/skills/Evals/Tools/SuiteManager.ts .opencode/skills/Utilities/Evals/Tools/SuiteManager.ts -RENAME .opencode/skills/Evals/Tools/TranscriptCapture.ts .opencode/skills/Utilities/Evals/Tools/TranscriptCapture.ts -RENAME .opencode/skills/Evals/Tools/TrialRunner.ts .opencode/skills/Utilities/Evals/Tools/TrialRunner.ts -RENAME .opencode/skills/Evals/Types/index.ts .opencode/skills/Utilities/Evals/Types/index.ts -RENAME .opencode/skills/Evals/UseCases/Regression/task_file_targeting_basic.yaml .opencode/skills/Utilities/Evals/UseCases/Regression/task_file_targeting_basic.yaml -RENAME .opencode/skills/Evals/UseCases/Regression/task_no_hallucinated_paths.yaml .opencode/skills/Utilities/Evals/UseCases/Regression/task_no_hallucinated_paths.yaml -RENAME .opencode/skills/Evals/UseCases/Regression/task_tool_sequence_read_before_edit.yaml .opencode/skills/Utilities/Evals/UseCases/Regression/task_tool_sequence_read_before_edit.yaml -RENAME .opencode/skills/Evals/UseCases/Regression/task_verification_before_done.yaml .opencode/skills/Utilities/Evals/UseCases/Regression/task_verification_before_done.yaml -RENAME .opencode/skills/Evals/Workflows/CompareModels.md .opencode/skills/Utilities/Evals/Workflows/CompareModels.md -RENAME .opencode/skills/Evals/Workflows/ComparePrompts.md .opencode/skills/Utilities/Evals/Workflows/ComparePrompts.md -RENAME .opencode/skills/Evals/Workflows/CreateJudge.md .opencode/skills/Utilities/Evals/Workflows/CreateJudge.md -RENAME .opencode/skills/Evals/Workflows/CreateUseCase.md .opencode/skills/Utilities/Evals/Workflows/CreateUseCase.md -RENAME .opencode/skills/Evals/Workflows/RunEval.md .opencode/skills/Utilities/Evals/Workflows/RunEval.md -RENAME .opencode/skills/Evals/Workflows/ViewResults.md .opencode/skills/Utilities/Evals/Workflows/ViewResults.md -RENAME .opencode/skills/PAIUpgrade/SKILL.md .opencode/skills/Utilities/PAIUpgrade/SKILL.md -RENAME .opencode/skills/PAIUpgrade/Tools/Anthropic.ts .opencode/skills/Utilities/PAIUpgrade/Tools/Anthropic.ts -RENAME .opencode/skills/PAIUpgrade/Workflows/CheckForUpgrades.md .opencode/skills/Utilities/PAIUpgrade/Workflows/CheckForUpgrades.md -RENAME .opencode/skills/PAIUpgrade/Workflows/FindSources.md .opencode/skills/Utilities/PAIUpgrade/Workflows/FindSources.md -RENAME .opencode/skills/PAIUpgrade/Workflows/ReleaseNotesDeepDive.md .opencode/skills/Utilities/PAIUpgrade/Workflows/ReleaseNotesDeepDive.md -RENAME .opencode/skills/PAIUpgrade/Workflows/ResearchUpgrade.md .opencode/skills/Utilities/PAIUpgrade/Workflows/ResearchUpgrade.md -RENAME .opencode/skills/PAIUpgrade/sources.json .opencode/skills/Utilities/PAIUpgrade/sources.json -RENAME .opencode/skills/PAIUpgrade/youtube-channels.json .opencode/skills/Utilities/PAIUpgrade/youtube-channels.json -RENAME .opencode/skills/Parser/EntitySystem.md .opencode/skills/Utilities/Parser/EntitySystem.md -RENAME .opencode/skills/Parser/Lib/parser.ts .opencode/skills/Utilities/Parser/Lib/parser.ts -RENAME .opencode/skills/Parser/Lib/validators.ts .opencode/skills/Utilities/Parser/Lib/validators.ts -RENAME .opencode/skills/Parser/Prompts/entity-extraction.md .opencode/skills/Utilities/Parser/Prompts/entity-extraction.md -RENAME .opencode/skills/Parser/Prompts/link-analysis.md .opencode/skills/Utilities/Parser/Prompts/link-analysis.md -RENAME .opencode/skills/Parser/Prompts/summarization.md .opencode/skills/Utilities/Parser/Prompts/summarization.md -RENAME .opencode/skills/Parser/Prompts/topic-classification.md .opencode/skills/Utilities/Parser/Prompts/topic-classification.md -RENAME .opencode/skills/Parser/README.md .opencode/skills/Utilities/Parser/README.md -RENAME .opencode/skills/Parser/SKILL.md .opencode/skills/Utilities/Parser/SKILL.md -RENAME .opencode/skills/Parser/Schema/content-schema.json .opencode/skills/Utilities/Parser/Schema/content-schema.json -RENAME .opencode/skills/Parser/Schema/schema.ts .opencode/skills/Utilities/Parser/Schema/schema.ts -RENAME .opencode/skills/Parser/Tests/fixtures/example-output.json .opencode/skills/Utilities/Parser/Tests/fixtures/example-output.json -RENAME .opencode/skills/Parser/Utils/collision-detection.ts .opencode/skills/Utilities/Parser/Utils/collision-detection.ts -RENAME .opencode/skills/Parser/Web/README.md .opencode/skills/Utilities/Parser/Web/README.md -RENAME .opencode/skills/Parser/Web/debug.html .opencode/skills/Utilities/Parser/Web/debug.html -RENAME .opencode/skills/Parser/Web/index.html .opencode/skills/Utilities/Parser/Web/index.html -RENAME .opencode/skills/Parser/Web/parser.js .opencode/skills/Utilities/Parser/Web/parser.js -RENAME .opencode/skills/Parser/Web/simple-test.html .opencode/skills/Utilities/Parser/Web/simple-test.html -RENAME .opencode/skills/Parser/Web/styles.css .opencode/skills/Utilities/Parser/Web/styles.css -RENAME .opencode/skills/Parser/Workflows/BatchEntityExtractionGemini3.md .opencode/skills/Utilities/Parser/Workflows/BatchEntityExtractionGemini3.md -RENAME .opencode/skills/Parser/Workflows/CollisionDetection.md .opencode/skills/Utilities/Parser/Workflows/CollisionDetection.md -RENAME .opencode/skills/Parser/Workflows/DetectContentType.md .opencode/skills/Utilities/Parser/Workflows/DetectContentType.md -RENAME .opencode/skills/Parser/Workflows/ExtractArticle.md .opencode/skills/Utilities/Parser/Workflows/ExtractArticle.md -RENAME .opencode/skills/Parser/Workflows/ExtractBrowserExtension.md .opencode/skills/Utilities/Parser/Workflows/ExtractBrowserExtension.md -RENAME .opencode/skills/Parser/Workflows/ExtractNewsletter.md .opencode/skills/Utilities/Parser/Workflows/ExtractNewsletter.md -RENAME .opencode/skills/Parser/Workflows/ExtractPdf.md .opencode/skills/Utilities/Parser/Workflows/ExtractPdf.md -RENAME .opencode/skills/Parser/Workflows/ExtractTwitter.md .opencode/skills/Utilities/Parser/Workflows/ExtractTwitter.md -RENAME .opencode/skills/Parser/Workflows/ExtractYoutube.md .opencode/skills/Utilities/Parser/Workflows/ExtractYoutube.md -RENAME .opencode/skills/Parser/Workflows/ParseContent.md .opencode/skills/Utilities/Parser/Workflows/ParseContent.md -RENAME .opencode/skills/Parser/entity-index.json .opencode/skills/Utilities/Parser/entity-index.json -RENAME .opencode/skills/Documents/Pdf/LICENSE.txt .opencode/skills/Utilities/Pdf/LICENSE.txt -RENAME .opencode/skills/Documents/Pdf/SKILL.md .opencode/skills/Utilities/Pdf/SKILL.md -RENAME .opencode/skills/Documents/Pdf/Scripts/check_bounding_boxes.py .opencode/skills/Utilities/Pdf/Scripts/check_bounding_boxes.py -RENAME .opencode/skills/Documents/Pdf/Scripts/check_bounding_boxes_test.py .opencode/skills/Utilities/Pdf/Scripts/check_bounding_boxes_test.py diff --git a/docs/epic/pr-filelists/PR-08-files.txt b/docs/epic/pr-filelists/PR-08-files.txt deleted file mode 100644 index c8f50bfb..00000000 --- a/docs/epic/pr-filelists/PR-08-files.txt +++ /dev/null @@ -1,84 +0,0 @@ -RENAME .opencode/skills/Apify/INTEGRATION.md .opencode/skills/Scraping/Apify/INTEGRATION.md -RENAME .opencode/skills/Apify/README.md .opencode/skills/Scraping/Apify/README.md -RENAME .opencode/skills/Apify/SKILL.md .opencode/skills/Scraping/Apify/SKILL.md -RENAME .opencode/skills/Apify/Workflows/Update.md .opencode/skills/Scraping/Apify/Workflows/Update.md -RENAME .opencode/skills/Apify/actors/business/google-maps.ts .opencode/skills/Scraping/Apify/actors/business/google-maps.ts -RENAME .opencode/skills/Apify/actors/business/index.ts .opencode/skills/Scraping/Apify/actors/business/index.ts -RENAME .opencode/skills/Apify/actors/ecommerce/amazon.ts .opencode/skills/Scraping/Apify/actors/ecommerce/amazon.ts -RENAME .opencode/skills/Apify/actors/ecommerce/index.ts .opencode/skills/Scraping/Apify/actors/ecommerce/index.ts -RENAME .opencode/skills/Apify/actors/index.ts .opencode/skills/Scraping/Apify/actors/index.ts -RENAME .opencode/skills/Apify/actors/social-media/facebook.ts .opencode/skills/Scraping/Apify/actors/social-media/facebook.ts -RENAME .opencode/skills/Apify/actors/social-media/index.ts .opencode/skills/Scraping/Apify/actors/social-media/index.ts -RENAME .opencode/skills/Apify/actors/social-media/instagram.ts .opencode/skills/Scraping/Apify/actors/social-media/instagram.ts -RENAME .opencode/skills/Apify/actors/social-media/linkedin.ts .opencode/skills/Scraping/Apify/actors/social-media/linkedin.ts -RENAME .opencode/skills/Apify/actors/social-media/tiktok.ts .opencode/skills/Scraping/Apify/actors/social-media/tiktok.ts -RENAME .opencode/skills/Apify/actors/social-media/twitter.ts .opencode/skills/Scraping/Apify/actors/social-media/twitter.ts -RENAME .opencode/skills/Apify/actors/social-media/youtube.ts .opencode/skills/Scraping/Apify/actors/social-media/youtube.ts -RENAME .opencode/skills/Apify/actors/web/index.ts .opencode/skills/Scraping/Apify/actors/web/index.ts -RENAME .opencode/skills/Apify/actors/web/web-scraper.ts .opencode/skills/Scraping/Apify/actors/web/web-scraper.ts -RENAME .opencode/skills/Apify/bun.lock .opencode/skills/Scraping/Apify/bun.lock -RENAME .opencode/skills/Apify/examples/comparison-test.ts .opencode/skills/Scraping/Apify/examples/comparison-test.ts -RENAME .opencode/skills/Apify/examples/instagram-scraper.ts .opencode/skills/Scraping/Apify/examples/instagram-scraper.ts -RENAME .opencode/skills/Apify/examples/smoke-test.ts .opencode/skills/Scraping/Apify/examples/smoke-test.ts -RENAME .opencode/skills/Apify/index.ts .opencode/skills/Scraping/Apify/index.ts -RENAME .opencode/skills/Apify/package.json .opencode/skills/Scraping/Apify/package.json -RENAME .opencode/skills/Apify/skills/get-user-tweets.ts .opencode/skills/Scraping/Apify/skills/get-user-tweets.ts -RENAME .opencode/skills/Apify/tsconfig.json .opencode/skills/Scraping/Apify/tsconfig.json -RENAME .opencode/skills/Apify/types/common.ts .opencode/skills/Scraping/Apify/types/common.ts -RENAME .opencode/skills/Apify/types/index.ts .opencode/skills/Scraping/Apify/types/index.ts -RENAME .opencode/skills/BrightData/SKILL.md .opencode/skills/Scraping/BrightData/SKILL.md -RENAME .opencode/skills/BrightData/Workflows/FourTierScrape.md .opencode/skills/Scraping/BrightData/Workflows/FourTierScrape.md -ADD .opencode/skills/Scraping/SKILL.md -RENAME .opencode/skills/Documents/Pdf/Scripts/check_fillable_fields.py .opencode/skills/Utilities/Pdf/Scripts/check_fillable_fields.py -RENAME .opencode/skills/Documents/Pdf/Scripts/convert_pdf_to_images.py .opencode/skills/Utilities/Pdf/Scripts/convert_pdf_to_images.py -RENAME .opencode/skills/Documents/Pdf/Scripts/create_validation_image.py .opencode/skills/Utilities/Pdf/Scripts/create_validation_image.py -RENAME .opencode/skills/Documents/Pdf/Scripts/extract_form_field_info.py .opencode/skills/Utilities/Pdf/Scripts/extract_form_field_info.py -RENAME .opencode/skills/Documents/Pdf/Scripts/fill_fillable_fields.py .opencode/skills/Utilities/Pdf/Scripts/fill_fillable_fields.py -RENAME .opencode/skills/Documents/Pdf/Scripts/fill_pdf_form_with_annotations.py .opencode/skills/Utilities/Pdf/Scripts/fill_pdf_form_with_annotations.py -RENAME .opencode/skills/Documents/Pdf/forms.md .opencode/skills/Utilities/Pdf/forms.md -RENAME .opencode/skills/Documents/Pdf/reference.md .opencode/skills/Utilities/Pdf/reference.md -RENAME .opencode/skills/Documents/Pptx/LICENSE.txt .opencode/skills/Utilities/Pptx/LICENSE.txt -RENAME .opencode/skills/Documents/Pptx/Ooxml/Scripts/pack.py .opencode/skills/Utilities/Pptx/Ooxml/Scripts/pack.py -RENAME .opencode/skills/Documents/Pptx/Ooxml/Scripts/unpack.py .opencode/skills/Utilities/Pptx/Ooxml/Scripts/unpack.py -RENAME .opencode/skills/Documents/Pptx/Ooxml/Scripts/validate.py .opencode/skills/Utilities/Pptx/Ooxml/Scripts/validate.py -RENAME .opencode/skills/Documents/Pptx/SKILL.md .opencode/skills/Utilities/Pptx/SKILL.md -RENAME .opencode/skills/Documents/Pptx/Scripts/html2pptx.js .opencode/skills/Utilities/Pptx/Scripts/html2pptx.js -RENAME .opencode/skills/Documents/Pptx/Scripts/inventory.py .opencode/skills/Utilities/Pptx/Scripts/inventory.py -RENAME .opencode/skills/Documents/Pptx/Scripts/rearrange.py .opencode/skills/Utilities/Pptx/Scripts/rearrange.py -RENAME .opencode/skills/Documents/Pptx/Scripts/replace.py .opencode/skills/Utilities/Pptx/Scripts/replace.py -RENAME .opencode/skills/Documents/Pptx/Scripts/thumbnail.py .opencode/skills/Utilities/Pptx/Scripts/thumbnail.py -RENAME .opencode/skills/Documents/Pptx/html2pptx.md .opencode/skills/Utilities/Pptx/html2pptx.md -RENAME .opencode/skills/Documents/Pptx/ooxml.md .opencode/skills/Utilities/Pptx/ooxml.md -RENAME .opencode/skills/Prompting/SKILL.md .opencode/skills/Utilities/Prompting/SKILL.md -RENAME .opencode/skills/Prompting/Standards.md .opencode/skills/Utilities/Prompting/Standards.md -RENAME .opencode/skills/Prompting/Templates/Data/Agents.yaml .opencode/skills/Utilities/Prompting/Templates/Data/Agents.yaml -RENAME .opencode/skills/Prompting/Templates/Data/ValidationGates.yaml .opencode/skills/Utilities/Prompting/Templates/Data/ValidationGates.yaml -RENAME .opencode/skills/Prompting/Templates/Data/VoicePresets.yaml .opencode/skills/Utilities/Prompting/Templates/Data/VoicePresets.yaml -RENAME .opencode/skills/Prompting/Templates/Evals/Comparison.hbs .opencode/skills/Utilities/Prompting/Templates/Evals/Comparison.hbs -RENAME .opencode/skills/Prompting/Templates/Evals/Judge.hbs .opencode/skills/Utilities/Prompting/Templates/Evals/Judge.hbs -RENAME .opencode/skills/Prompting/Templates/Evals/Report.hbs .opencode/skills/Utilities/Prompting/Templates/Evals/Report.hbs -RENAME .opencode/skills/Prompting/Templates/Evals/Rubric.hbs .opencode/skills/Utilities/Prompting/Templates/Evals/Rubric.hbs -RENAME .opencode/skills/Prompting/Templates/Evals/TestCase.hbs .opencode/skills/Utilities/Prompting/Templates/Evals/TestCase.hbs -RENAME .opencode/skills/Prompting/Templates/Primitives/Briefing.hbs .opencode/skills/Utilities/Prompting/Templates/Primitives/Briefing.hbs -RENAME .opencode/skills/Prompting/Templates/Primitives/Gate.hbs .opencode/skills/Utilities/Prompting/Templates/Primitives/Gate.hbs -RENAME .opencode/skills/Prompting/Templates/Primitives/Roster.hbs .opencode/skills/Utilities/Prompting/Templates/Primitives/Roster.hbs -RENAME .opencode/skills/Prompting/Templates/Primitives/Structure.hbs .opencode/skills/Utilities/Prompting/Templates/Primitives/Structure.hbs -RENAME .opencode/skills/Prompting/Templates/Primitives/Voice.hbs .opencode/skills/Utilities/Prompting/Templates/Primitives/Voice.hbs -RENAME .opencode/skills/Prompting/Templates/README.md .opencode/skills/Utilities/Prompting/Templates/README.md -RENAME .opencode/skills/Prompting/Templates/Tools/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc .opencode/skills/Utilities/Prompting/Templates/Tools/.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc -RENAME .opencode/skills/Prompting/Templates/Tools/.gitignore .opencode/skills/Utilities/Prompting/Templates/Tools/.gitignore -RENAME .opencode/skills/Prompting/Templates/Tools/CLAUDE.md .opencode/skills/Utilities/Prompting/Templates/Tools/CLAUDE.md -RENAME .opencode/skills/Prompting/Templates/Tools/README.md .opencode/skills/Utilities/Prompting/Templates/Tools/README.md -RENAME .opencode/skills/Prompting/Templates/Tools/RenderTemplate.ts .opencode/skills/Utilities/Prompting/Templates/Tools/RenderTemplate.ts -RENAME .opencode/skills/Prompting/Templates/Tools/ValidateTemplate.ts .opencode/skills/Utilities/Prompting/Templates/Tools/ValidateTemplate.ts -RENAME .opencode/skills/Prompting/Templates/Tools/bun.lock .opencode/skills/Utilities/Prompting/Templates/Tools/bun.lock -RENAME .opencode/skills/Prompting/Templates/Tools/index.ts .opencode/skills/Utilities/Prompting/Templates/Tools/index.ts -RENAME .opencode/skills/Prompting/Templates/Tools/package.json .opencode/skills/Utilities/Prompting/Templates/Tools/package.json -RENAME .opencode/skills/Prompting/Templates/Tools/tsconfig.json .opencode/skills/Utilities/Prompting/Templates/Tools/tsconfig.json -RENAME .opencode/skills/Prompting/Tools/RenderTemplate.ts .opencode/skills/Utilities/Prompting/Tools/RenderTemplate.ts -RENAME .opencode/skills/Prompting/Tools/ValidateTemplate.ts .opencode/skills/Utilities/Prompting/Tools/ValidateTemplate.ts -RENAME .opencode/skills/Prompting/Tools/index.ts .opencode/skills/Utilities/Prompting/Tools/index.ts -ADD .opencode/skills/Utilities/SKILL.md -RENAME .opencode/skills/Documents/Xlsx/LICENSE.txt .opencode/skills/Utilities/Xlsx/LICENSE.txt -RENAME .opencode/skills/Documents/Xlsx/SKILL.md .opencode/skills/Utilities/Xlsx/SKILL.md -RENAME .opencode/skills/Documents/Xlsx/recalc.py .opencode/skills/Utilities/Xlsx/recalc.py diff --git a/docs/epic/pr-filelists/PR-09-files.txt b/docs/epic/pr-filelists/PR-09-files.txt deleted file mode 100644 index 40029a5f..00000000 --- a/docs/epic/pr-filelists/PR-09-files.txt +++ /dev/null @@ -1,3 +0,0 @@ -ADD .opencode/skills/OpenCodeSystem/SKILL.md -ADD Tools/db-archive.ts -ADD Tools/migration-v2-to-v3.ts diff --git a/docs/epic/pr-filelists/PR-10-files.txt b/docs/epic/pr-filelists/PR-10-files.txt deleted file mode 100644 index 7499445e..00000000 --- a/docs/epic/pr-filelists/PR-10-files.txt +++ /dev/null @@ -1,146 +0,0 @@ -DELETE .opencode/skills/Art/Examples/human-linear-form.png -DELETE .opencode/skills/Art/Examples/human-linear-style2.png -DELETE .opencode/skills/Art/Examples/setting-line-style.png -DELETE .opencode/skills/Art/Examples/setting-line-style2.png -DELETE .opencode/skills/Art/HeadshotExamples/Screenshot 2024-05-14 at 09.52.31.png -DELETE .opencode/skills/Art/HeadshotExamples/headshot-clean.png -DELETE .opencode/skills/Art/HeadshotExamples/headshot-hat-smiling.png -DELETE .opencode/skills/Art/HeadshotExamples/headshot-nah.png -DELETE .opencode/skills/Art/HeadshotExamples/headshot-outside-smiling.png -DELETE .opencode/skills/Art/HeadshotExamples/headshot-pondering.png -DELETE .opencode/skills/Art/HeadshotExamples/headshot-smiling.png -DELETE .opencode/skills/Art/HeadshotExamples/headshot-surprised-hat.png -DELETE .opencode/skills/Art/HeadshotExamples/headshot-walking-cap-smiling.png -DELETE .opencode/skills/Art/HeadshotExamples/headshot-what-is-that.png -DELETE .opencode/skills/Art/HeadshotExamples/headshot-whatthehell.png -DELETE .opencode/skills/Art/HeadshotExamples/headshot-yuk.png -DELETE .opencode/skills/Art/Lib/discord-bot.ts -DELETE .opencode/skills/Art/Lib/midjourney-client.ts -DELETE .opencode/skills/Art/SKILL.md -DELETE .opencode/skills/Art/ThumbnailExamples/AudioEssay.png -DELETE .opencode/skills/Art/ThumbnailExamples/InterviewVideo.png -DELETE .opencode/skills/Art/ThumbnailExamples/RegularVideo1.png -DELETE .opencode/skills/Art/ThumbnailExamples/RegularVideo2.png -DELETE .opencode/skills/Art/ThumbnailExamples/RegularVideo3.png -DELETE .opencode/skills/Art/ThumbnailExamples/RegularVideo4.png -DELETE .opencode/skills/Art/ThumbnailExamples/RegularVideo5.png -DELETE .opencode/skills/Art/Tools/ComposeThumbnail.ts -DELETE .opencode/skills/Art/Tools/Generate.ts -DELETE .opencode/skills/Art/Tools/GenerateMidjourneyImage.ts -DELETE .opencode/skills/Art/Tools/GeneratePrompt.ts -DELETE .opencode/skills/Art/Workflows/AdHocYouTubeThumbnail.md -DELETE .opencode/skills/Art/Workflows/AnnotatedScreenshots.md -DELETE .opencode/skills/Art/Workflows/Aphorisms.md -DELETE .opencode/skills/Art/Workflows/Comics.md -DELETE .opencode/skills/Art/Workflows/Comparisons.md -DELETE .opencode/skills/Art/Workflows/CreatePAIPackIcon.md -DELETE .opencode/skills/Art/Workflows/D3Dashboards.md -DELETE .opencode/skills/Art/Workflows/EmbossedLogoWallpaper.md -DELETE .opencode/skills/Art/Workflows/Essay.md -DELETE .opencode/skills/Art/Workflows/Frameworks.md -DELETE .opencode/skills/Art/Workflows/Maps.md -DELETE .opencode/skills/Art/Workflows/Mermaid.md -DELETE .opencode/skills/Art/Workflows/RecipeCards.md -DELETE .opencode/skills/Art/Workflows/Stats.md -DELETE .opencode/skills/Art/Workflows/Taxonomies.md -DELETE .opencode/skills/Art/Workflows/TechnicalDiagrams.md -DELETE .opencode/skills/Art/Workflows/Timelines.md -DELETE .opencode/skills/Art/Workflows/ULWallpaper.md -DELETE .opencode/skills/Art/Workflows/Visualize.md -DELETE .opencode/skills/Art/YouTubeThumbnailExamples/Audio1.png -DELETE .opencode/skills/Art/YouTubeThumbnailExamples/Main1.png -DELETE .opencode/skills/Art/YouTubeThumbnailExamples/Main2.png -DELETE .opencode/skills/Art/YouTubeThumbnailExamples/Main3.png -DELETE .opencode/skills/Art/YouTubeThumbnailExamples/Main4.png -DELETE .opencode/skills/Art/YouTubeThumbnailExamples/Main5.png -DELETE .opencode/skills/Art/YouTubeThumbnailExamples/Main6.png -DELETE .opencode/skills/Art/YouTubeThumbnailExamples/Main7.png -DELETE .opencode/skills/Art/YouTubeThumbnailExamples/SPECIFICATIONS.md -DELETE .opencode/skills/Art/YouTubeThumbnailExamples/Sponsored1.png -DELETE .opencode/skills/Art/YouTubeThumbnailExamples/Sponsored2.png -DELETE .opencode/skills/Art/YouTubeThumbnailExamples/Sponsored3.png -MODIFY .opencode/skills/AudioEditor/Tools/Analyze.ts -MODIFY .opencode/skills/AudioEditor/Tools/Polish.ts -DELETE .opencode/skills/ExtractWisdom/SKILL.md -DELETE .opencode/skills/ExtractWisdom/Workflows/Extract.md -MODIFY .opencode/skills/Media/Art/Tools/Generate.ts -MODIFY .opencode/skills/Media/Art/Tools/GenerateMidjourneyImage.ts -MODIFY .opencode/skills/Media/Art/Workflows/AdHocYouTubeThumbnail.md -MODIFY .opencode/skills/Media/Art/Workflows/Comparisons.md -MODIFY .opencode/skills/Media/Art/Workflows/Maps.md -MODIFY .opencode/skills/Media/Art/Workflows/Visualize.md -MODIFY .opencode/skills/Media/Remotion/ArtIntegration.md -MODIFY .opencode/skills/Media/Remotion/Tools/Ref-timing.md -MODIFY .opencode/skills/Media/Remotion/Tools/Ref-videos.md -RENAME .opencode/skills/Remotion/Tools/tsconfig.json .opencode/skills/Media/Remotion/Tools/tsconfig.json -RENAME .opencode/skills/Remotion/Workflows/ContentToAnimation.md .opencode/skills/Media/Remotion/Workflows/ContentToAnimation.md -ADD .opencode/skills/Media/SKILL.md -DELETE .opencode/skills/OSINT/CompanyTools.md -DELETE .opencode/skills/OSINT/EntityTools.md -DELETE .opencode/skills/OSINT/EthicalFramework.md -DELETE .opencode/skills/OSINT/Methodology.md -DELETE .opencode/skills/OSINT/PeopleTools.md -DELETE .opencode/skills/OSINT/SKILL.md -DELETE .opencode/skills/OSINT/Workflows/CompanyDueDiligence.md -DELETE .opencode/skills/OSINT/Workflows/CompanyLookup.md -DELETE .opencode/skills/OSINT/Workflows/EntityLookup.md -DELETE .opencode/skills/OSINT/Workflows/PeopleLookup.md -MODIFY .opencode/skills/PAI/SKILL.md -MODIFY .opencode/skills/PAI/Tools/ExtractTranscript.ts -MODIFY .opencode/skills/PAI/Tools/GenerateSkillIndex.ts -MODIFY .opencode/skills/PAI/Tools/Inference.ts -MODIFY .opencode/skills/PAI/Tools/RemoveBg.ts -ADD .opencode/skills/PAI/Tools/ValidateSkillStructure.ts -MODIFY .opencode/skills/PAI/Tools/YouTubeApi.ts -DELETE .opencode/skills/PrivateInvestigator/SKILL.md -DELETE .opencode/skills/PrivateInvestigator/Workflows/FindPerson.md -DELETE .opencode/skills/PrivateInvestigator/Workflows/PublicRecordsSearch.md -DELETE .opencode/skills/PrivateInvestigator/Workflows/ReverseLookup.md -DELETE .opencode/skills/PrivateInvestigator/Workflows/SocialMediaSearch.md -DELETE .opencode/skills/PrivateInvestigator/Workflows/VerifyIdentity.md -DELETE .opencode/skills/Remotion/ArtIntegration.md -DELETE .opencode/skills/Remotion/CriticalRules.md -DELETE .opencode/skills/Remotion/Patterns.md -DELETE .opencode/skills/Remotion/SKILL.md -DELETE .opencode/skills/Remotion/Tools/Ref-3d.md -DELETE .opencode/skills/Remotion/Tools/Ref-animations.md -DELETE .opencode/skills/Remotion/Tools/Ref-assets.md -DELETE .opencode/skills/Remotion/Tools/Ref-audio.md -DELETE .opencode/skills/Remotion/Tools/Ref-calculate-metadata.md -DELETE .opencode/skills/Remotion/Tools/Ref-can-decode.md -DELETE .opencode/skills/Remotion/Tools/Ref-charts.md -DELETE .opencode/skills/Remotion/Tools/Ref-compositions.md -DELETE .opencode/skills/Remotion/Tools/Ref-display-captions.md -DELETE .opencode/skills/Remotion/Tools/Ref-extract-frames.md -DELETE .opencode/skills/Remotion/Tools/Ref-fonts.md -DELETE .opencode/skills/Remotion/Tools/Ref-get-audio-duration.md -DELETE .opencode/skills/Remotion/Tools/Ref-get-video-dimensions.md -DELETE .opencode/skills/Remotion/Tools/Ref-get-video-duration.md -DELETE .opencode/skills/Remotion/Tools/Ref-gifs.md -DELETE .opencode/skills/Remotion/Tools/Ref-images.md -DELETE .opencode/skills/Remotion/Tools/Ref-import-srt-captions.md -DELETE .opencode/skills/Remotion/Tools/Ref-lottie.md -DELETE .opencode/skills/Remotion/Tools/Ref-measuring-dom-nodes.md -DELETE .opencode/skills/Remotion/Tools/Ref-measuring-text.md -DELETE .opencode/skills/Remotion/Tools/Ref-sequencing.md -DELETE .opencode/skills/Remotion/Tools/Ref-tailwind.md -DELETE .opencode/skills/Remotion/Tools/Ref-text-animations.md -DELETE .opencode/skills/Remotion/Tools/Ref-timing.md -DELETE .opencode/skills/Remotion/Tools/Ref-transcribe-captions.md -DELETE .opencode/skills/Remotion/Tools/Ref-transitions.md -DELETE .opencode/skills/Remotion/Tools/Ref-trimming.md -DELETE .opencode/skills/Remotion/Tools/Ref-videos.md -DELETE .opencode/skills/Remotion/Tools/Render.ts -DELETE .opencode/skills/Remotion/Tools/Theme.ts -DELETE .opencode/skills/Remotion/Tools/package.json -ADD .opencode/skills/Research/MigrationNotes.md -ADD .opencode/skills/Research/Templates/MarketResearch.md -ADD .opencode/skills/Research/Templates/ThreatLandscape.md -MODIFY .opencode/skills/System/Workflows/CrossRepoValidation.md -MODIFY .opencode/skills/Telos/DashboardTemplate/App/api/chat/route.ts -MODIFY .opencode/skills/Telos/SKILL.md -MODIFY .opencode/skills/USMetrics/SKILL.md -MODIFY .opencode/skills/USMetrics/Tools/FetchFredSeries.ts -MODIFY .opencode/skills/USMetrics/Tools/GenerateAnalysis.ts -MODIFY .opencode/skills/USMetrics/Tools/UpdateSubstrateMetrics.ts -ADD .opencode/skills/skill-index.json diff --git a/docs/epic/pr-filelists/PR-11-files.txt b/docs/epic/pr-filelists/PR-11-files.txt deleted file mode 100644 index 99528c03..00000000 --- a/docs/epic/pr-filelists/PR-11-files.txt +++ /dev/null @@ -1,45 +0,0 @@ -MODIFY .github/workflows/ci.yml -MODIFY .opencode/package.json -MODIFY .opencode/voice-server/server.ts -ADD .prd/PRD-20260309-coderabbit-pr47-fixes.md -ADD .prd/PRD-20260309-installer-refactor.md -ADD .roborev.toml -MODIFY AGENTS.md -MODIFY CHANGELOG.md -MODIFY CONTRIBUTING.md -MODIFY INSTALL.md -MODIFY README.md -ADD UPGRADE.md -MODIFY biome.json -MODIFY bun.lock -ADD docs/DB-MAINTENANCE.md -MODIFY docs/MIGRATION.md -MODIFY docs/OPENCODE-FEATURES.md -MODIFY docs/PAI-ADAPTATIONS.md -ADD docs/PLATFORM-DIFFERENCES.md -MODIFY docs/PLUGIN-SYSTEM.md -ADD docs/SCOPE-BOUNDARY.md -ADD docs/architecture/AgentCapabilityMatrix.md -ADD docs/architecture/Configuration.md -ADD docs/architecture/FormattingGuidelines.md -ADD docs/architecture/INSTALLER-REFACTOR-PLAN.md -ADD docs/architecture/SystemArchitecture.md -ADD docs/architecture/ToolReference.md -ADD docs/architecture/Troubleshooting.md -ADD docs/architecture/adr/ADR-008-opencode-bash-workdir-parameter.md -ADD docs/architecture/adr/ADR-009-handler-audit-opencode-adaptation.md -ADD docs/architecture/adr/ADR-010-shell-env-two-layer-system.md -ADD docs/architecture/adr/ADR-011-security-hardening.md -ADD docs/architecture/adr/ADR-012-session-registry-custom-tool.md -ADD docs/architecture/adr/ADR-013-algorithm-session-awareness.md -ADD docs/architecture/adr/ADR-014-lsp-native-code-navigation.md -ADD docs/architecture/adr/ADR-015-compaction-intelligence.md -ADD docs/architecture/adr/ADR-016-session-fork-experiment-isolation.md -ADD docs/architecture/adr/ADR-017-system-self-awareness.md -ADD docs/architecture/adr/ADR-018-roborev-code-review-integration.md -MODIFY docs/architecture/adr/README.md -DELETE docs/epic/ARCHITECTURE-PLAN.md -MODIFY docs/epic/EPIC-v3.0-Synthesis-Architecture.md -ADD docs/epic/OPTIMIZED-PR-PLAN.md -ADD docs/epic/TODO-v3.0.md -MODIFY package.json From a05fedd07dafe2f5c577fd17c506f38a70761bad Mon Sep 17 00:00:00 2001 From: Steffen Zellmer <151627820+Steffen025@users.noreply.github.com> Date: Mon, 13 Apr 2026 14:57:14 +0200 Subject: [PATCH 4/7] fix(banner): show PAI-OpenCode v3.0 branding instead of vanilla PAI 4.0.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Default paiVersion: '4.0.3' → '3.0.0' (PAI-OpenCode version) - Default repoUrl: 'github.com/danielmiessler/PAI' → 'github.com/Steffen025/pai-opencode' - settings.json fallback version: '2.0' → '3.0.0' - Header text: 'PAI | Personal AI Infrastructure' → 'PAI-OpenCode v3.0.0 | Personal AI Infrastructure' (large + medium banners) - Credit line added below repo URL in large + medium banners: 'Built on PAI by Daniel Miessler · github.com/danielmiessler/PAI' - Version detection: 'claude --version' → 'opencode --version' --- .opencode/PAI/Tools/Banner.ts | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/.opencode/PAI/Tools/Banner.ts b/.opencode/PAI/Tools/Banner.ts index 3358420c..a6343e7d 100755 --- a/.opencode/PAI/Tools/Banner.ts +++ b/.opencode/PAI/Tools/Banner.ts @@ -113,14 +113,14 @@ interface SystemStats { function getStats(): SystemStats { let name = "PAI"; - let paiVersion = "4.0.3"; + let paiVersion = "3.0.0"; // PAI-OpenCode version let algorithmVersion = "3.7.0"; let catchphrase = "{name} here, ready to go"; - let repoUrl = "github.com/danielmiessler/PAI"; + let repoUrl = "github.com/Steffen025/pai-opencode"; // PAI-OpenCode repo try { const settings = JSON.parse(readFileSync(join(CLAUDE_DIR, "settings.json"), "utf-8")); name = settings.daidentity?.displayName || settings.daidentity?.name || "PAI"; - paiVersion = settings.pai?.version || "2.0"; + paiVersion = settings.pai?.version || "3.0.0"; algorithmVersion = (settings.pai?.algorithmVersion || algorithmVersion).replace(/^v/i, ''); catchphrase = settings.daidentity?.startupCatchphrase || catchphrase; repoUrl = settings.pai?.repoUrl || repoUrl; @@ -163,10 +163,10 @@ function getStats(): SystemStats { const platform = process.platform === "darwin" ? "macOS" : process.platform; const arch = process.arch; - // Try to get Claude Code version - let ccVersion = "2.0"; + // Try to get OpenCode version + let ccVersion = ""; try { - const result = spawnSync("claude", ["--version"], { encoding: "utf-8" }); + const result = spawnSync("opencode", ["--version"], { encoding: "utf-8" }); if (result.stdout) { const match = result.stdout.match(/(\d+\.\d+\.\d+)/); if (match) ccVersion = match[1]; @@ -325,10 +325,10 @@ function createNavyBanner(stats: SystemStats, width: number): string { lines.push(`${framePad}${topBorder}`); lines.push(""); - // Header: PAI (in logo colors) | Personal AI Infrastructure + // Header: PAI-OpenCode v3.0 | Personal AI Infrastructure const paiColored = `${C.navy}P${RESET}${C.medBlue}A${RESET}${C.lightBlue}I${RESET}`; - const headerText = `${paiColored} ${C.steel}|${RESET} ${C.slate}Personal AI Infrastructure${RESET}`; - const headerLen = 33; // "PAI | Personal AI Infrastructure" + const headerText = `${paiColored}${C.slate}-OpenCode ${C.silver}v${stats.paiVersion}${RESET} ${C.steel}|${RESET} ${C.slate}Personal AI Infrastructure${RESET}`; + const headerLen = 44; // "PAI-OpenCode v3.0.0 | Personal AI Infrastructure" const headerPad = " ".repeat(Math.floor((width - headerLen) / 2)); lines.push(`${headerPad}${headerText}`); lines.push(""); // Blank line between header and tagline @@ -355,11 +355,16 @@ function createNavyBanner(stats: SystemStats, width: number): string { lines.push(""); lines.push(""); - // Footer: Unicode symbol + URL in medium blue (A color) + // Footer: repo URL + credit line const urlLine = `${C.steel}\u2192${RESET} ${C.medBlue}${stats.repoUrl}${RESET}`; const urlLen = stats.repoUrl.length + 3; const urlPad = " ".repeat(Math.floor((width - urlLen) / 2)); lines.push(`${urlPad}${urlLine}`); + + const creditLine = `${C.muted}Built on PAI by Daniel Miessler \u00b7 github.com/danielmiessler/PAI${RESET}`; + const creditLen = 61; // visible length + const creditPad = " ".repeat(Math.floor((width - creditLen) / 2)); + lines.push(`${creditPad}${creditLine}`); lines.push(""); // Bottom border with full horizontal line and reticle corners @@ -675,8 +680,8 @@ function createNavyMediumBanner(stats: SystemStats, width: number): string { // Header (no border) const paiColored = `${C.navy}P${RESET}${C.medBlue}A${RESET}${C.lightBlue}I${RESET}`; - const headerText = `${paiColored} ${C.steel}|${RESET} ${C.slate}Personal AI Infrastructure${RESET}`; - const headerPad = " ".repeat(Math.max(0, Math.floor((width - 33) / 2))); + const headerText = `${paiColored}${C.slate}-OpenCode ${C.silver}v${stats.paiVersion}${RESET} ${C.steel}|${RESET} ${C.slate}Personal AI Infrastructure${RESET}`; + const headerPad = " ".repeat(Math.max(0, Math.floor((width - 44) / 2))); lines.push(`${headerPad}${headerText}`); lines.push(""); @@ -697,6 +702,9 @@ function createNavyMediumBanner(stats: SystemStats, width: number): string { const urlLine = `${C.steel}\u2192${RESET} ${C.medBlue}${stats.repoUrl}${RESET}`; const urlPad = " ".repeat(Math.max(0, Math.floor((width - stats.repoUrl.length - 3) / 2))); lines.push(`${urlPad}${urlLine}`); + const creditLine = `${C.steel}Built on PAI by Daniel Miessler \u00b7 github.com/danielmiessler/PAI${RESET}`; + const creditPad = " ".repeat(Math.max(0, Math.floor((width - 61) / 2))); + lines.push(`${creditPad}${creditLine}`); lines.push(""); return lines.join("\n"); From e5a811dea4209d26ec4da8bd217183efcabefed0 Mon Sep 17 00:00:00 2001 From: Steffen Zellmer <151627820+Steffen025@users.noreply.github.com> Date: Mon, 13 Apr 2026 15:43:33 +0200 Subject: [PATCH 5/7] =?UTF-8?q?chore:=20add=20contributors=20section=20?= =?UTF-8?q?=E2=80=94=20eddovandenboom,=20ktneely,=20step-security-bot?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 10 ++++++++++ README.md | 14 ++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e6eb188c..f0b33271 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -144,6 +144,16 @@ Full guide: [UPGRADE.md](UPGRADE.md). --- +### Contributors + +Special thanks to community members whose contributions are included in this release: + +* **[@eddovandenboom](https://github.com/eddovandenboom)** — PAI wrapper script, `--fix-symlink` flag ([PR #104](https://github.com/Steffen025/pai-opencode/pull/104)) +* **[@ktneely](https://github.com/ktneely)** — Model profile updates for provider-agnostic routing ([PR #103](https://github.com/Steffen025/pai-opencode/pull/103)) +* **[@step-security-bot](https://github.com/step-security-bot)** — CI security hardening, pinned Actions SHA hashes ([PR #106](https://github.com/Steffen025/pai-opencode/pull/106)) + +--- + ## [2.0.0] - 2026-02-19 diff --git a/README.md b/README.md index 45dbcfb5..10853b71 100644 --- a/README.md +++ b/README.md @@ -439,6 +439,20 @@ The open-source, provider-agnostic runtime that makes PAI-OpenCode possible. --- +## Contributors + +Thank you to everyone who has contributed code, content, or tooling to PAI-OpenCode: + +| Contributor | Contribution | +|-------------|-------------| +| **[@eddovandenboom](https://github.com/eddovandenboom)** | PAI wrapper script — separate `pai` command, `--fix-symlink` flag ([PR #104](https://github.com/Steffen025/pai-opencode/pull/104)) | +| **[@ktneely](https://github.com/ktneely)** | Model profile updates for provider-agnostic routing ([PR #103](https://github.com/Steffen025/pai-opencode/pull/103), incorporated into [PR #107](https://github.com/Steffen025/pai-opencode/pull/107)) | +| **[@step-security-bot](https://github.com/step-security-bot)** | CI security hardening — pinned Actions SHA hashes, `permissions: contents: read` ([PR #106](https://github.com/Steffen025/pai-opencode/pull/106), incorporated into [PR #108](https://github.com/Steffen025/pai-opencode/pull/108)) | + +*Want to contribute? See [CONTRIBUTING.md](CONTRIBUTING.md).* + +--- + ## License MIT License — see [LICENSE](LICENSE) for details. From c4b85e852713abaf9fe250b705fe6b3c5f79d06a Mon Sep 17 00:00:00 2001 From: Steffen Zellmer <151627820+Steffen025@users.noreply.github.com> Date: Mon, 13 Apr 2026 16:39:03 +0200 Subject: [PATCH 6/7] fix(security): resolve CodeQL + Dependabot alerts before v3.0 release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tools/pai-to-opencode-converter.ts: - Fix CodeQL alert #11 'Incomplete string escaping': escape backslashes BEFORE double quotes (desc.replace(/\\/g, '\\\\').replace(/"/g, '\\"')) to prevent broken YAML when input contains literal backslashes. .opencode/skills/Telos/DashboardTemplate/package.json: - Bump next ^15.5.6 → ^15.5.15 — resolves Dependabot alerts #2-6 (4× HIGH/MEDIUM CVEs in Next.js < 15.5.15) --- .opencode/skills/Telos/DashboardTemplate/package.json | 2 +- Tools/pai-to-opencode-converter.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.opencode/skills/Telos/DashboardTemplate/package.json b/.opencode/skills/Telos/DashboardTemplate/package.json index 9c7c0040..cd871bde 100755 --- a/.opencode/skills/Telos/DashboardTemplate/package.json +++ b/.opencode/skills/Telos/DashboardTemplate/package.json @@ -25,7 +25,7 @@ "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "lucide-react": "^0.546.0", - "next": "^15.5.6", + "next": "^15.5.15", "react": "^19.2.0", "react-dom": "^19.2.0", "tailwind-merge": "^3.3.1" diff --git a/Tools/pai-to-opencode-converter.ts b/Tools/pai-to-opencode-converter.ts index 8b8de6f1..150fef3b 100644 --- a/Tools/pai-to-opencode-converter.ts +++ b/Tools/pai-to-opencode-converter.ts @@ -728,8 +728,8 @@ function translateSkills( // If contains special YAML chars (colon, quote, etc.), wrap in quotes if (desc.includes(':') || desc.includes("'") || desc.includes('"') || desc.includes('#') || desc.includes('|') || desc.includes('>')) { - // Escape internal double quotes and wrap - const escaped = desc.replace(/"/g, '\\"'); + // Escape backslashes first, then double quotes (order matters) + const escaped = desc.replace(/\\/g, '\\\\').replace(/"/g, '\\"'); return `${prefix}"${escaped}"`; } return match; From 12f73239f25188f3b8a06d41c26118ceab06c50f Mon Sep 17 00:00:00 2001 From: Steffen Zellmer <151627820+Steffen025@users.noreply.github.com> Date: Mon, 13 Apr 2026 16:42:34 +0200 Subject: [PATCH 7/7] =?UTF-8?q?fix(review):=20CodeRabbit=20round=20?= =?UTF-8?q?=E2=80=94=20CHANGELOG=20wording=20+=20Banner=20dynamic=20center?= =?UTF-8?q?ing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CHANGELOG.md: - 'Zen free default' → 'Zen-free default' (hyphenated compound) - Contributors bullet list → table (Contributor | Contribution | PR) Banner.ts: - Replace 6 hardcoded visible-length constants (44, 35, 61) with visibleLength() calls in large + medium Navy banners. Centering now adapts when version string length changes. --- .opencode/PAI/Tools/Banner.ts | 15 ++++++--------- CHANGELOG.md | 10 ++++++---- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/.opencode/PAI/Tools/Banner.ts b/.opencode/PAI/Tools/Banner.ts index a6343e7d..4d2bd1c4 100755 --- a/.opencode/PAI/Tools/Banner.ts +++ b/.opencode/PAI/Tools/Banner.ts @@ -328,15 +328,13 @@ function createNavyBanner(stats: SystemStats, width: number): string { // Header: PAI-OpenCode v3.0 | Personal AI Infrastructure const paiColored = `${C.navy}P${RESET}${C.medBlue}A${RESET}${C.lightBlue}I${RESET}`; const headerText = `${paiColored}${C.slate}-OpenCode ${C.silver}v${stats.paiVersion}${RESET} ${C.steel}|${RESET} ${C.slate}Personal AI Infrastructure${RESET}`; - const headerLen = 44; // "PAI-OpenCode v3.0.0 | Personal AI Infrastructure" - const headerPad = " ".repeat(Math.floor((width - headerLen) / 2)); + const headerPad = " ".repeat(Math.floor((width - visibleLength(headerText)) / 2)); lines.push(`${headerPad}${headerText}`); lines.push(""); // Blank line between header and tagline // Tagline in light blue with ellipsis const quote = `${ITALIC}${C.lightBlue}"Magnifying human capabilities..."${RESET}`; - const quoteLen = 35; // includes ellipsis - const quotePad = " ".repeat(Math.floor((width - quoteLen) / 2)); + const quotePad = " ".repeat(Math.floor((width - visibleLength(quote)) / 2)); lines.push(`${quotePad}${quote}`); // Extra space between top text area and main content @@ -362,8 +360,7 @@ function createNavyBanner(stats: SystemStats, width: number): string { lines.push(`${urlPad}${urlLine}`); const creditLine = `${C.muted}Built on PAI by Daniel Miessler \u00b7 github.com/danielmiessler/PAI${RESET}`; - const creditLen = 61; // visible length - const creditPad = " ".repeat(Math.floor((width - creditLen) / 2)); + const creditPad = " ".repeat(Math.floor((width - visibleLength(creditLine)) / 2)); lines.push(`${creditPad}${creditLine}`); lines.push(""); @@ -681,13 +678,13 @@ function createNavyMediumBanner(stats: SystemStats, width: number): string { // Header (no border) const paiColored = `${C.navy}P${RESET}${C.medBlue}A${RESET}${C.lightBlue}I${RESET}`; const headerText = `${paiColored}${C.slate}-OpenCode ${C.silver}v${stats.paiVersion}${RESET} ${C.steel}|${RESET} ${C.slate}Personal AI Infrastructure${RESET}`; - const headerPad = " ".repeat(Math.max(0, Math.floor((width - 44) / 2))); + const headerPad = " ".repeat(Math.max(0, Math.floor((width - visibleLength(headerText)) / 2))); lines.push(`${headerPad}${headerText}`); lines.push(""); // Tagline const quote = `${ITALIC}${C.lightBlue}"Magnifying human capabilities..."${RESET}`; - const quotePad = " ".repeat(Math.max(0, Math.floor((width - 35) / 2))); + const quotePad = " ".repeat(Math.max(0, Math.floor((width - visibleLength(quote)) / 2))); lines.push(`${quotePad}${quote}`); lines.push(""); @@ -703,7 +700,7 @@ function createNavyMediumBanner(stats: SystemStats, width: number): string { const urlPad = " ".repeat(Math.max(0, Math.floor((width - stats.repoUrl.length - 3) / 2))); lines.push(`${urlPad}${urlLine}`); const creditLine = `${C.steel}Built on PAI by Daniel Miessler \u00b7 github.com/danielmiessler/PAI${RESET}`; - const creditPad = " ".repeat(Math.max(0, Math.floor((width - 61) / 2))); + const creditPad = " ".repeat(Math.max(0, Math.floor((width - visibleLength(creditLine)) / 2))); lines.push(`${creditPad}${creditLine}`); lines.push(""); diff --git a/CHANGELOG.md b/CHANGELOG.md index f0b33271..35915823 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [3.0.0](https://github.com/Steffen025/pai-opencode/compare/opencode-v2.0.0...pai-opencode-v3.0.0) (2026-04-13) -PAI-OpenCode v3.0 is the **OpenCode-native release** — a complete re-architecture that moves from a Claude Code fork to vanilla OpenCode, removes the bootstrap loading mechanism in favour of the native skill system, and ships a zero-config Zen free default so users are productive immediately. +PAI-OpenCode v3.0 is the **OpenCode-native release** — a complete re-architecture that moves from a Claude Code fork to vanilla OpenCode, removes the bootstrap loading mechanism in favour of the native skill system, and ships a zero-config Zen-free default so users are productive immediately. --- @@ -148,9 +148,11 @@ Full guide: [UPGRADE.md](UPGRADE.md). Special thanks to community members whose contributions are included in this release: -* **[@eddovandenboom](https://github.com/eddovandenboom)** — PAI wrapper script, `--fix-symlink` flag ([PR #104](https://github.com/Steffen025/pai-opencode/pull/104)) -* **[@ktneely](https://github.com/ktneely)** — Model profile updates for provider-agnostic routing ([PR #103](https://github.com/Steffen025/pai-opencode/pull/103)) -* **[@step-security-bot](https://github.com/step-security-bot)** — CI security hardening, pinned Actions SHA hashes ([PR #106](https://github.com/Steffen025/pai-opencode/pull/106)) +| Contributor | Contribution | PR | +|-------------|-------------|-----| +| **[@eddovandenboom](https://github.com/eddovandenboom)** | PAI wrapper script, `--fix-symlink` flag | [#104](https://github.com/Steffen025/pai-opencode/pull/104) | +| **[@ktneely](https://github.com/ktneely)** | Model profile updates for provider-agnostic routing | [#103](https://github.com/Steffen025/pai-opencode/pull/103) | +| **[@step-security-bot](https://github.com/step-security-bot)** | CI security hardening, pinned Actions SHA hashes | [#106](https://github.com/Steffen025/pai-opencode/pull/106) | ---