Commit Graph

218 Commits

Author SHA1 Message Date
a620906209 b93d5ca135 Merge pull request 'chore(graphify): hook 改放本機設定並移除不適用的 graph.json 規則' (#81) from chore/graphify-claude-integration into master
Deploy Production / deploy (push) Successful in 1m31s
Run Tests / test (push) Successful in 36s
Reviewed-on: #81
2026-10-29 10:06:36 +00:00
a620906209 beb52eba4c chore(graphify): hook 改放本機設定並移除不適用的 graph.json 規則
Run Tests / test (pull_request) Successful in 37s
- .claude/settings.json 寫死了本機的 graphify.exe 絕對路徑,
  改併入已被忽略的 .claude/settings.local.json,不進版控
- CLAUDE.md 刪除「已提交的 graph.json 大 diff 屬預期」一條,
  本專案已忽略 graphify-out/,該規則不適用

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 17:46:33 +08:00
a620906209 df1b5bed9b Merge pull request 'chore(graphify): CLAUDE.md 新增 graphify 使用規則' (#80) from chore/graphify-claude-integration into master
Deploy Production / deploy (push) Successful in 1m31s
Run Tests / test (push) Successful in 37s
Reviewed-on: #80
2026-10-29 09:42:27 +00:00
a620906209 1958c3f01a chore(graphify): 新增 Claude Code 搜尋與讀檔 hook 設定
Run Tests / test (pull_request) Successful in 33s
由 graphify 安裝流程寫入,Bash/Grep/Read/Glob 執行前
會呼叫 graphify hook-guard 提示改用圖譜查詢。

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 17:41:37 +08:00
a620906209 6dfa36c1cb chore(graphify): CLAUDE.md 新增 graphify 使用規則
由 graphify 安裝流程寫入,要求查詢程式碼問題時先用 graphify query,
改完程式碼後執行 graphify update。

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 17:41:37 +08:00
a620906209 2d571cfd52 Merge pull request 'chore(gitignore): 忽略 graphify-out 圖譜輸出' (#79) from docs/k8s-local-simulation-todo into master
Deploy Production / deploy (push) Successful in 1m32s
Run Tests / test (push) Successful in 37s
Reviewed-on: #79
2026-10-29 09:38:30 +00:00
a620906209 34b4706d00 Merge pull request 'docs(graphify): 新增知識圖譜操作筆記' (#78) from docs/graphify-usage-note into master
Deploy Production / deploy (push) Successful in 1m41s
Run Tests / test (push) Successful in 37s
Reviewed-on: #78
2026-10-29 09:37:06 +00:00
a620906209 89b8e8f343 docs(graphify): 新增知識圖譜操作筆記
Run Tests / test (pull_request) Successful in 34s
記錄重建步驟、已知限制(enum case 引用、腳本檔名遮蔽、
子代理並行上限)與前 16 大社群的人工命名對照表。

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 17:34:29 +08:00
a620906209 1c1fe6f651 chore(gitignore): 忽略 graphify-out 圖譜輸出
Run Tests / test (pull_request) Successful in 37s
graphify 產生的 graph.json、graph.html、cache 皆可重建,
且 graph.json 每次重建都整份重寫,進版控會造成大量無意義 diff。

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 17:28:10 +08:00
a620906209 4f2907eb93 Merge pull request 'docs(analysis): 新增 K8s 本機模擬待辦記錄' (#77) from docs/k8s-local-simulation-todo into master
Deploy Production / deploy (push) Successful in 6m13s
Run Tests / test (push) Successful in 35s
Reviewed-on: #77
2026-10-29 04:58:17 +00:00
a620906209 7bd96ef092 docs(analysis): 新增 K8s 本機模擬待辦記錄
Run Tests / test (pull_request) Successful in 36s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 12:57:13 +08:00
a620906209 d6aae828e9 Merge pull request 'chore(openspec): 歸檔 fix-booking-exception-handling 並同步主規格' (#76) from chore/archive-fix-booking-exception-handling into master
Deploy Production / deploy (push) Successful in 1m40s
Run Tests / test (push) Successful in 36s
Reviewed-on: #76
2026-10-17 17:46:36 +00:00
a620906209 72daf9baa0 chore(openspec): 歸檔 fix-booking-exception-handling 並同步主規格
Run Tests / test (pull_request) Successful in 37s
- booking-lifecycle 主規格新增「預約交易錯誤分類」requirement
- tasks 3.2 正式環境驗證完成(建立、確認預約正常,未觀察到 500)
- 待辦文件標記 M7 完成

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 01:45:26 +08:00
a620906209 a869b0989a Merge pull request 'fix(booking): 交易內只攔截業務例外,資料庫錯誤改交由例外處理器' (#75) from fix/booking-exception-handling-impl into master
Deploy Production / deploy (push) Successful in 1m42s
Run Tests / test (push) Successful in 37s
Reviewed-on: #75
2026-10-17 17:38:43 +00:00
a620906209 8042f0bafb style(booking): 以 pint 格式化預約 Controller
Run Tests / test (pull_request) Successful in 34s
純格式化,不含邏輯變更。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 01:35:38 +08:00
a620906209 ddbf956144 fix(booking): 交易內只攔截業務例外,資料庫錯誤改交由例外處理器
新增 BookingRuleViolationException,MemberBookingController::store 與
ProviderBookingController::confirm 只 catch 此型別並回 422(訊息不變)。
QueryException 等其他例外不再被當成 422 回傳 SQL,改由 Laravel 回 500
並回報 Sentry。對應 OpenSpec change fix-booking-exception-handling(M7)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 01:35:38 +08:00
a620906209 0ee6ce9966 Merge pull request 'fix(openspec): 新增 fix-booking-exception-handling change 規劃' (#74) from fix/booking-exception-handling into master
Deploy Production / deploy (push) Successful in 1m37s
Run Tests / test (push) Successful in 44s
Reviewed-on: #74
2026-10-17 17:12:32 +00:00
a620906209 dcbf3e4a9a fix(openspec): 新增 fix-booking-exception-handling change 規劃
Run Tests / test (pull_request) Successful in 39s
- M7:預約交易的 catch (\RuntimeException) 會吞掉 QueryException,把 SQL 以 422 回給使用者且不送 Sentry
- 規劃新增 BookingRuleViolationException,Controller 只 catch 業務例外,其他例外交給 Laravel 處理器(500 + 回報)
- booking-lifecycle 新增「預約交易錯誤分類」requirement(5 個 Scenario 皆對應測試任務)
- spec-reviewer、design-hardener 皆 PASS,warnings 已併入文件

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 00:59:25 +08:00
a620906209 d27aff1a7d Merge pull request 'chore(docs): 標記 H1、H2 完成並於 .env.example 註明正式環境設定' (#73) from chore/close-h1-h2-todo into master
Deploy Production / deploy (push) Successful in 1m45s
Run Tests / test (push) Successful in 39s
Reviewed-on: #73
2026-10-17 16:47:43 +00:00
a620906209 990f84c21a chore(docs): 標記 H1、H2 完成並於 .env.example 註明正式環境設定
Run Tests / test (pull_request) Successful in 38s
- todo 文件:H1 由 PR #71、#72 完成;H2 已於 VPS 確認 APP_DEBUG=false、APP_ENV=production、未使用預設 DB 密碼
- .env.example:APP_DEBUG 上方加註正式環境必須的值

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 00:47:01 +08:00
a620906209 ffed798ed5 Merge pull request 'chore(openspec): 歸檔 add-role-middleware 並同步主規格' (#72) from chore/archive-add-role-middleware into master
Deploy Production / deploy (push) Successful in 1m40s
Run Tests / test (push) Successful in 37s
Reviewed-on: #72
2026-10-17 16:40:54 +00:00
a620906209 d83d941993 chore(openspec): 歸檔 add-role-middleware 並同步主規格
Run Tests / test (pull_request) Successful in 34s
- 新增主規格 role-authorization,更新 feature-test-coverage 的 middleware 描述
- 勾選手動驗證任務 5.1、5.2(23/23)
- CLAUDE.md 授權規範與 openspec/config.yaml 移除「member/provider 只有 auth:sanctum」的過時說明

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 00:30:05 +08:00
a620906209 544894fa55 Merge pull request 'security(auth): 新增 member/provider 角色 middleware' (#71) from security/implement-role-middleware into master
Deploy Production / deploy (push) Successful in 1m45s
Run Tests / test (push) Successful in 41s
Reviewed-on: #71
2026-10-17 16:12:02 +00:00
a620906209 90fc8f2d49 style: 以 pint 格式化 routes、Docs 與 BookingListTest
Run Tests / test (pull_request) Successful in 36s
純格式調整,不改變行為。這四個檔案在 master 上即未通過 pint,
因本次功能變更觸及而一併修正,以符合變更檔案需通過 pint 的審查要求。

- 已驗證 route:list 除角色 middleware 外無差異
- 已驗證 l5-swagger 產出的 JSON 在格式化前後完全相同

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:57:30 +08:00
a620906209 16ccb4c18c security(auth): 新增 member/provider 角色 middleware
補上待辦 H1:/api/member/*、/api/provider/* 原本只掛 auth:sanctum,
任何已登入帳號都能跨角色建立課程、預約與評價。

- 新增 EnsureMember、EnsureProvider(結構同 EnsureAdmin),註冊 alias
  member、provider,掛到對應路由群組;角色不符回 403
  { status: false, message: "無權限存取" },未登入仍由 auth:sanctum 回 401
- provider middleware 不檢查審核狀態,未通過審核的教練仍可送審
- 新增 RoleAuthorizationTest:member/provider/admin/未登入跨角色測試,
  並驗證越權請求不產生資料;跨角色共用路由(通知、未讀訊息數)不受影響
- Swagger:member/provider 端點的 403 描述補上角色不符,補齊列表端點 403
- 更新 BookingListTest docblock 的過時描述
- 完成 tasks 1.1–4.3;5.1、5.2 手動驗證尚未執行

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:57:16 +08:00
a620906209 9e4331d4f7 Merge pull request 'security(openspec): 新增 add-role-middleware change 規劃' (#70) from security/add-role-middleware into master
Deploy Production / deploy (push) Successful in 1m46s
Run Tests / test (push) Successful in 34s
Reviewed-on: #70
2026-10-17 15:30:15 +00:00
a620906209 6feb79bc1a security(openspec): 新增 add-role-middleware change 規劃
Run Tests / test (pull_request) Successful in 36s
待辦 H1:member/provider 路由群組補上角色 middleware。
新增 role-authorization 規格,並修改 feature-test-coverage 的
「預約列表端點測試覆蓋」。spec-reviewer 與 design-hardener 均 PASS。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:28:06 +08:00
a620906209 1839e9008f Merge branch 'chore/add-github-test-workflow': 新增 GitHub 鏡像專用測試 workflow
Deploy Production / deploy (push) Successful in 6m21s
Run Tests / test (push) Successful in 35s
2026-10-17 23:09:55 +08:00
a620906209 09aa5175e3 Merge branch 'docs/complete-backlog-items': 待辦新增功能與延後項目 F1–F7 2026-10-17 23:09:55 +08:00
a620906209 efb7d1b773 ci(github): 新增 GitHub 鏡像專用的測試 workflow
Gitea 讀 .gitea/workflows,GitHub 讀 .github/workflows,兩者互不影響。
GitHub 版改用 ubuntu-latest + setup-php(PHP 8.2 對齊正式環境);
不含 deploy,部署只走 Gitea。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:06:53 +08:00
a620906209 f07d15609f docs(analysis): 待辦新增功能與延後項目 F1–F7
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:06:28 +08:00
a620906209 245a0a3f84 Merge pull request 'docs(analysis): 待辦新增 M7(預約例外訊息洩漏)與 M8(預約狀態並發競態)' (#69) from docs/add-review-findings-m7-m8 into master
Deploy Production / deploy (push) Successful in 1m37s
Run Tests / test (push) Successful in 36s
Reviewed-on: #69
2026-10-14 17:02:27 +00:00
a620906209 42b3884f09 docs(analysis): 待辦新增 M7(預約例外訊息洩漏)與 M8(預約狀態並發競態)
Run Tests / test (pull_request) Successful in 34s
2026-10-15 00:39:26 +08:00
a620906209 4fa6822a23 Merge pull request 'chore(claude): 新增 hardener skill(Laravel 版)並於 CLAUDE.md 補上審查流程' (#68) from chore/add-hardener-skill into master
Deploy Production / deploy (push) Successful in 1m38s
Run Tests / test (push) Successful in 35s
Reviewed-on: #68
2026-10-14 16:37:07 +00:00
a620906209 7b90fdc5f9 chore(claude): 新增 hardener skill(Laravel 版)並於 CLAUDE.md 補上審查流程
Run Tests / test (pull_request) Successful in 34s
2026-10-15 00:36:29 +08:00
a620906209 fe533413a9 Merge pull request 'chore(claude): 新增 design-hardener 設計加固審查 subagent(Pi 與 Claude Code 版)' (#67) from chore/add-design-hardener into master
Deploy Production / deploy (push) Successful in 1m35s
Run Tests / test (push) Successful in 36s
Reviewed-on: #67
2026-10-14 16:21:40 +00:00
a620906209 8e079185fa chore(claude): 新增 design-hardener 設計加固審查 subagent(Pi 與 Claude Code 版)
Run Tests / test (pull_request) Successful in 34s
2026-10-15 00:13:44 +08:00
a620906209 2af6be75a9 Merge pull request 'chore(claude): 新增 spec-reviewer、strict-reviewer 的 Claude Code 版本(sonnet)並更新審查流程說明' (#66) from chore/add-claude-review-subagents into master
Deploy Production / deploy (push) Successful in 1m45s
Run Tests / test (push) Successful in 46s
Reviewed-on: #66
2026-10-14 16:09:42 +00:00
a620906209 9f86ccad05 chore(claude): 新增 spec-reviewer、strict-reviewer 的 Claude Code 版本(sonnet)並更新審查流程說明
Run Tests / test (pull_request) Successful in 45s
2026-10-15 00:09:00 +08:00
a620906209 990a260f95 Merge pull request 'chore(pi): 新增 spec-reviewer、strict-reviewer 審查 subagent,並於 CLAUDE.md 補上審查流程' (#65) from chore/add-review-subagents into master
Deploy Production / deploy (push) Successful in 1m39s
Run Tests / test (push) Successful in 39s
Reviewed-on: #65
2026-10-14 16:05:59 +00:00
a620906209 ad455742c6 chore(pi): 新增 spec-reviewer、strict-reviewer 審查 subagent,並於 CLAUDE.md 補上審查流程
Run Tests / test (pull_request) Successful in 34s
2026-10-15 00:05:22 +08:00
a620906209 f9e83cadfe Merge pull request 'chore(openspec): 升級 OpenSpec CLI 至 1.14.1 並重新產生 skill 與指令' (#64) from chore/upgrade-openspec into master
Deploy Production / deploy (push) Successful in 1m39s
Run Tests / test (push) Successful in 42s
Reviewed-on: #64
2026-10-14 15:57:20 +00:00
a620906209 291b7e5889 chore(openspec): 以 operations guidance 取代 apply skill 自訂區塊
Run Tests / test (pull_request) Successful in 35s
2026-10-14 23:56:26 +08:00
a620906209 82d99d00a7 chore(openspec): 升級 OpenSpec CLI 至 1.14.1 並重新產生 skill 與指令 2026-10-14 23:56:26 +08:00
a620906209 e899f38267 Merge pull request 'docs(claude): CLAUDE.md 補上工具分工、專案慣例、授權規範、驗證指令與 Git/PR 流程' (#63) from chore/claude-workflow-tooling into master
Deploy Production / deploy (push) Successful in 1m44s
Run Tests / test (push) Successful in 39s
Reviewed-on: #63
2026-10-14 15:54:37 +00:00
a620906209 a59179d96c docs(analysis): 更新 prompt 改善計畫進度
Run Tests / test (pull_request) Successful in 40s
2026-10-14 23:45:54 +08:00
a620906209 c1698a45b6 chore(claude): 修正 branch-and-propose、apply 加入測試對應檢查,新增 verify-and-report 與 finish-and-pr 2026-10-14 23:45:54 +08:00
a620906209 ee1ba1cef3 chore(windsurf): 移除與 CLAUDE.md 衝突的 ponytail 規則 2026-10-14 23:45:53 +08:00
a620906209 e6f59f25d3 docs(claude): CLAUDE.md 補上工具分工、專案慣例、授權規範、驗證指令與 Git/PR 流程 2026-10-14 23:45:53 +08:00
a620906209 cb64d45572 Merge pull request 'chore(openspec): 更新 config.yaml 專案 context 並補上 proposal/specs/design/tasks 規則' (#62) from chore/update-openspec-config into master
Deploy Production / deploy (push) Successful in 1m39s
Run Tests / test (push) Successful in 34s
Reviewed-on: #62
2026-10-14 15:23:50 +00:00