jimmy60504 commited on
Commit
fd689ff
·
1 Parent(s): 0d38f7f

fix: update documentation references to use 'docs/' prefix for consistency

Browse files

- 修改 `change-log.md`、`copilot-instructions.md`、`README.md` 和其他文件中的 `spec.md` 和 `task.md` 引用,將其更新為 `docs/spec.md` 和 `docs/task.md`。

.github/ISSUE_TEMPLATE/spec.yml CHANGED
@@ -16,7 +16,7 @@ body:
16
  id: motivation
17
  attributes:
18
  label: 動機/背景
19
- placeholder: 為何需要這項規格?是否對齊目前 spec.md 的目標與不變條件?
20
 
21
  - type: textarea
22
  id: behavior
@@ -53,9 +53,9 @@ body:
53
  attributes:
54
  label: 檢查清單
55
  options:
56
- - label: 我已參考並對齊 spec.md 的目標/不變條件/契約。
57
  required: true
58
  - label: 我已考量邊界情境與降級策略,不會阻斷整體流程。
59
  required: true
60
- - label: 變更涉及公共行為時,我會同步更新 spec.md。
61
  required: true
 
16
  id: motivation
17
  attributes:
18
  label: 動機/背景
19
+ placeholder: 為何需要這項規格?是否對齊目前 docs/spec.md 的目標與不變條件?
20
 
21
  - type: textarea
22
  id: behavior
 
53
  attributes:
54
  label: 檢查清單
55
  options:
56
+ - label: 我已參考並對齊 docs/spec.md 的目標/不變條件/契約。
57
  required: true
58
  - label: 我已考量邊界情境與降級策略,不會阻斷整體流程。
59
  required: true
60
+ - label: 變更涉及公共行為時,我會同步更新 docs/spec.md。
61
  required: true
.github/copilot-instructions.md CHANGED
@@ -1,13 +1,13 @@
1
  # GitHub Copilot 指南(專案層級)
2
 
3
- 請在本倉庫撰寫或修改程式碼時,務必遵循 `spec.md` 的契約與不變條件。以下是重點守則與常見情境處理方式:
4
 
5
  關鍵文件
6
- - 必讀:`/spec.md`(專案規格與設計)
7
  - 主要程式:`app.py`(Gradio GUI 與推論主流程)
8
  - 參考:`ttsam_realtime.py`(即時流程樣板,不是 GUI 主流程)
9
- - 任務追蹤:`/task.md`(跨對話追蹤的任務拆解與驗收)
10
- - 變更摘要:`/change-log.md`(完成後的高層摘要,非逐 Task 對應)
11
 
12
  核心守則(務必遵守)
13
  - 取樣率固定 100 Hz;模型輸入固定 30 秒(3000 samples)。不足 30 秒時尾段 0 填充。
@@ -22,7 +22,7 @@
22
 
23
  程式碼風格與作法
24
  - 加入或變更功能時,請以註解說明與 spec 的對齊;無需使用編號標籤。
25
- - 優先保持向後相容,不破壞現有行為;若需變更公共行為,先更新 `spec.md`。
26
  - 對所有可能失敗點提供降級方案與 log;不要讓單站/單檔錯誤導致整體中斷。
27
  - 避免將模型結構分散於多處;若需重構,提供明確入口(工廠或封裝函式)。
28
 
@@ -36,19 +36,19 @@
36
  - 更新 `station/site_info.csv`,去除重複站名列。
37
 
38
  提交前檢查(最低需求)
39
- - 是否符合 `spec.md` 的輸入/輸出 shape 與不變條件?
40
  - 少於 25 站、缺分量、Vs30 下載失敗等情境是否有測試或至少手動冒煙?
41
  - Log 是否清楚易懂,足以追蹤降級與邊界情境?
42
 
43
- 任務工作流:task.md(跨對話沿用)
44
- - 在規劃或討論變更時,請於倉庫根目錄維護 `task.md`(提供模板)。
45
  - 每個任務請填寫:背景與目標、不變條件對齊、任務拆解(可勾選)、測試與驗收、降級策略、進度紀錄。
46
  - 子任務應小而可驗收(理想 1 小時內完成),並附明確驗收標準與冒煙測試方式。
47
- - 若變更公共行為或 I/O shape,先更新 `spec.md`,同時在 `task.md` 標註風險與回滾策略。
48
  - 建議以 `feature/T-<YYYYMMDD>-<shortname>` 建分支,PR 標題以 `T-<YYYYMMDD>-<shortname>` 起首;在提交訊息引用任務 ID。
49
- - 本工作流僅為協助追蹤,不取代 `spec.md` 的契約約束。
50
 
51
  完成後的變更摘要與 task 重置
52
  - 當某個任務或一批變更完成時,請在 `change-log.md` 新增一個條目,摘要說明本次改變了什麼(可跨多個 Task 合併記錄,非一對一)。
53
  - 條目建議包含:Highlights、Spec/契約影響、行為或 I/O 變更、資料檔影響、降級與 Logging、測試與驗收、風險與回滾、連結(PR/Commits/Task IDs)。
54
- - 條目完成後,可刪除或重置根目錄的 `task.md`;下次任務開始時請以 `docs/task-template.md` 重新建立。
 
1
  # GitHub Copilot 指南(專案層級)
2
 
3
+ 請在本倉庫撰寫或修改程式碼時,務必遵循 `docs/spec.md` 的契約與不變條件。以下是重點守則與常見情境處理方式:
4
 
5
  關鍵文件
6
+ - 必讀:`docs/spec.md`(專案規格與設計)
7
  - 主要程式:`app.py`(Gradio GUI 與推論主流程)
8
  - 參考:`ttsam_realtime.py`(即時流程樣板,不是 GUI 主流程)
9
+ - 任務追蹤:`docs/task.md`(跨對話追蹤的任務拆解與驗收)
10
+ - 變更摘要:`change-log.md`(完成後的高層摘要,非逐 Task 對應)
11
 
12
  核心守則(務必遵守)
13
  - 取樣率固定 100 Hz;模型輸入固定 30 秒(3000 samples)。不足 30 秒時尾段 0 填充。
 
22
 
23
  程式碼風格與作法
24
  - 加入或變更功能時,請以註解說明與 spec 的對齊;無需使用編號標籤。
25
+ - 優先保持向後相容,不破壞現有行為;若需變更公共行為,先更新 `docs/spec.md`。
26
  - 對所有可能失敗點提供降級方案與 log;不要讓單站/單檔錯誤導致整體中斷。
27
  - 避免將模型結構分散於多處;若需重構,提供明確入口(工廠或封裝函式)。
28
 
 
36
  - 更新 `station/site_info.csv`,去除重複站名列。
37
 
38
  提交前檢查(最低需求)
39
+ - 是否符合 `docs/spec.md` 的輸入/輸出 shape 與不變條件?
40
  - 少於 25 站、缺分量、Vs30 下載失敗等情境是否有測試或至少手動冒煙?
41
  - Log 是否清楚易懂,足以追蹤降級與邊界情境?
42
 
43
+ 任務工作流:docs/task.md(跨對話沿用)
44
+ - 在規劃或討論變更時,請於 `docs/task.md` 維護任務(提供模板)。
45
  - 每個任務請填寫:背景與目標、不變條件對齊、任務拆解(可勾選)、測試與驗收、降級策略、進度紀錄。
46
  - 子任務應小而可驗收(理想 1 小時內完成),並附明確驗收標準與冒煙測試方式。
47
+ - 若變更公共行為或 I/O shape,先更新 `docs/spec.md`,同時在 `docs/task.md` 標註風險與回滾策略。
48
  - 建議以 `feature/T-<YYYYMMDD>-<shortname>` 建分支,PR 標題以 `T-<YYYYMMDD>-<shortname>` 起首;在提交訊息引用任務 ID。
49
+ - 本工作流僅為協助追蹤,不取代 `docs/spec.md` 的契約約束。
50
 
51
  完成後的變更摘要與 task 重置
52
  - 當某個任務或一批變更完成時,請在 `change-log.md` 新增一個條目,摘要說明本次改變了什麼(可跨多個 Task 合併記錄,非一對一)。
53
  - 條目建議包含:Highlights、Spec/契約影響、行為或 I/O 變更、資料檔影響、降級與 Logging、測試與驗收、風險與回滾、連結(PR/Commits/Task IDs)。
54
+ - 條目完成後,可刪除或重置 `docs/task.md`;下次任務開始時請以 `docs/task-template.md` 重新建立。
.github/pull_request_template.md CHANGED
@@ -3,7 +3,7 @@
3
 
4
  ## 規格對齊(spec compliance)
5
  - 相關規格:
6
- - [ ] 介面/流程契約符合 `spec.md`
7
  - [ ] 核心不變條件(取樣率 100 Hz、30 秒窗口、<=25 站、缺分量處理、分批推論、地圖高度 800px、Vs30 降級)
8
  - [ ] 欄位要求(site_info.csv / eew_target.csv)
9
 
@@ -17,4 +17,4 @@
17
  - 測試方式或冒煙步驟(貼出輸出截圖/關鍵 log):
18
 
19
  ## 其他
20
- - 是否需要在 `spec.md` 更新條目?若是,請同步修改。
 
3
 
4
  ## 規格對齊(spec compliance)
5
  - 相關規格:
6
+ - [ ] 介面/流程契約符合 `docs/spec.md`
7
  - [ ] 核心不變條件(取樣率 100 Hz、30 秒窗口、<=25 站、缺分量處理、分批推論、地圖高度 800px、Vs30 降級)
8
  - [ ] 欄位要求(site_info.csv / eew_target.csv)
9
 
 
17
  - 測試方式或冒煙步驟(貼出輸出截圖/關鍵 log):
18
 
19
  ## 其他
20
+ - 是否需要在 `docs/spec.md` 更新條目?若是,請同步修改。
README.md CHANGED
@@ -66,7 +66,7 @@ TTSAM(Taiwan Transformer-based Shake Alert Model)是一個以 Transformer
66
  - 地圖高度:Folium 地圖固定 800px;實際震度圖缺失以占位。
67
  - Vs30:優先使用 `SeisBlue/TaiwanVs30`;失敗則使用預設 600 m/s 並記錄 log。
68
 
69
- 完整細節請參考 `spec.md`。
70
 
71
  ## 專案結構
72
  - `app.py`:Gradio GUI 與推論主流程
@@ -75,11 +75,11 @@ TTSAM(Taiwan Transformer-based Shake Alert Model)是一個以 Transformer
75
  - `station/eew_target.csv`:目標測站表
76
  - `waveform/`:事件波形(.mseed)
77
  - `intensity_map/`:實際震度圖(可選)
78
- - `spec.md`:規格與設計說明(契約)
79
  - `.github/copilot-instructions.md`:生成程式碼指南
80
- - `task.md`:目前進行中的任務拆解(完成後可重置)
81
  - `change-log.md`:每次變更的高層摘要
82
- - `docs/task-template.md`:任務模板(重建 `task.md` 時使用)
83
 
84
  ## 疑難排解(Troubleshooting)
85
  - Vs30 下載失敗或查無資料
@@ -96,6 +96,6 @@ TTSAM(Taiwan Transformer-based Shake Alert Model)是一個以 Transformer
96
  - License:GPL-3.0
97
 
98
  ## 進一步閱讀
99
- - `spec.md`(契約與不變條件)
100
  - `.github/copilot-instructions.md`(開發與貢獻指南)
101
  - `change-log.md`(歷次變更摘要)
 
66
  - 地圖高度:Folium 地圖固定 800px;實際震度圖缺失以占位。
67
  - Vs30:優先使用 `SeisBlue/TaiwanVs30`;失敗則使用預設 600 m/s 並記錄 log。
68
 
69
+ 完整細節請參考 `docs/spec.md`。
70
 
71
  ## 專案結構
72
  - `app.py`:Gradio GUI 與推論主流程
 
75
  - `station/eew_target.csv`:目標測站表
76
  - `waveform/`:事件波形(.mseed)
77
  - `intensity_map/`:實際震度圖(可選)
78
+ - `docs/spec.md`:規格與設計說明(契約)
79
  - `.github/copilot-instructions.md`:生成程式碼指南
80
+ - `docs/task.md`:目前進行中的任務拆解(完成後可重置)
81
  - `change-log.md`:每次變更的高層摘要
82
+ - `docs/task-template.md`:任務模板(重建 `docs/task.md` 時使用)
83
 
84
  ## 疑難排解(Troubleshooting)
85
  - Vs30 下載失敗或查無資料
 
96
  - License:GPL-3.0
97
 
98
  ## 進一步閱讀
99
+ - `docs/spec.md`(契約與不變條件)
100
  - `.github/copilot-instructions.md`(開發與貢獻指南)
101
  - `change-log.md`(歷次變更摘要)
change-log.md CHANGED
@@ -2,13 +2,13 @@
2
 
3
  用途
4
  - 用於在任務完成後,將改動簡化整理為高層摘要,方便回顧與版本對齊。
5
- - 無需與 `task.md` 一對一對應;可依里程碑/批次/日期合併紀錄。
6
 
7
  使用方式
8
  - 每次完成一批有意義的變更(合併 PR、完成里程碑、或結束一輪對話)時,新增一個條目。
9
  - 條目內容建議包含下列要點;若無則可省略,但公共行為與 I/O shape 變更必寫:
10
  - Highlights(做了什麼、為何做)
11
- - Spec/契約影響(是否更新 `spec.md`、不變條件有無變動)
12
  - 行為或 I/O 變更(UI、張量 shape、欄位變化與相容性)
13
  - 資料/站台檔影響(`station/*.csv` 欄位或資料需求變更)
14
  - 降級與 Logging(新增/調整的降級策略、關鍵 log 片語)
@@ -20,8 +20,8 @@
20
 
21
  ## 2025-10-25 — 文件與工作流強化:task.md 與 change-log.md
22
  - Highlights
23
- - 新增 `task.md` 工作流與 `docs/task-template.md`,支援跨對話任務拆解與驗收。
24
- - 新增 `change-log.md`,集中紀錄高層摘要,完成批次後可重置 `task.md`。
25
  - 擴充 `.github/copilot-instructions.md` 與 `README.md`,說明任務→摘要→重置之流程。
26
  - Spec/契約影響
27
  - 無功能性調整;僅文件與流程。沿用既有不變條件(100 Hz/30s、<=25 站、Z 代 NE、Vs30 降級、地圖 800px)。
 
2
 
3
  用途
4
  - 用於在任務完成後,將改動簡化整理為高層摘要,方便回顧與版本對齊。
5
+ - 無需與 `docs/task.md` 一對一對應;可依里程碑/批次/日期合併紀錄。
6
 
7
  使用方式
8
  - 每次完成一批有意義的變更(合併 PR、完成里程碑、或結束一輪對話)時,新增一個條目。
9
  - 條目內容建議包含下列要點;若無則可省略,但公共行為與 I/O shape 變更必寫:
10
  - Highlights(做了什麼、為何做)
11
+ - Spec/契約影響(是否更新 `docs/spec.md`、不變條件有無變動)
12
  - 行為或 I/O 變更(UI、張量 shape、欄位變化與相容性)
13
  - 資料/站台檔影響(`station/*.csv` 欄位或資料需求變更)
14
  - 降級與 Logging(新增/調整的降級策略、關鍵 log 片語)
 
20
 
21
  ## 2025-10-25 — 文件與工作流強化:task.md 與 change-log.md
22
  - Highlights
23
+ - 新增 `docs/task.md` 工作流與 `docs/task-template.md`,支援跨對話任務拆解與驗收。
24
+ - 新增 `change-log.md`,集中紀錄高層摘要,完成批次後可重置 `docs/task.md`。
25
  - 擴充 `.github/copilot-instructions.md` 與 `README.md`,說明任務→摘要→重置之流程。
26
  - Spec/契約影響
27
  - 無功能性調整;僅文件與流程。沿用既有不變條件(100 Hz/30s、<=25 站、Z 代 NE、Vs30 降級、地圖 800px)。
spec.md → docs/spec.md RENAMED
@@ -132,3 +132,4 @@
132
  - 邊界情境與降級:...
133
  - UI 顯示:...
134
  - 驗收:...
 
 
132
  - 邊界情境與降級:...
133
  - UI 顯示:...
134
  - 驗收:...
135
+
docs/task-template.md CHANGED
@@ -6,12 +6,12 @@
6
  - Status: Planning | In Progress | Review | Done
7
 
8
  ## 背景與目標
9
- - 背景:為何需要這個變更?與 `spec.md` 的哪一段相關?
10
  - 目標:本次要達成的使用者價值與交付物(可量化)。
11
  - 不在範圍:明確說明此次不處理的部分,避免 scope creep。
12
 
13
  ## 相關文件與位置
14
- - 規格:`/spec.md`(若公共行為變更,務必同步更新)
15
  - 主程式:`app.py`
16
  - 即時樣板:`ttsam_realtime.py`
17
  - 站台資料:`station/site_info.csv`, `station/eew_target.csv`
@@ -27,7 +27,7 @@
27
  - `station/site_info.csv` 欄位:Station, Latitude, Longitude, Elevation。
28
  - `station/eew_target.csv` 欄位:station, latitude, longitude, elevation。
29
 
30
- > 若本任務可能影響以上不變條件,請明列風險與必要的 `spec.md` 更新計畫。
31
 
32
  ## 任務拆解(可勾選,可跨對話沿用)
33
  - [ ] 子任務 1:<描述>(變更檔案:`...`)
@@ -45,7 +45,7 @@
45
  ## 介面與資料形狀變更評估
46
  - UI 影響:是否需要新增/修改警告訊息或欄位?
47
  - I/O shape:輸入/輸出張量或資料欄位是否改變?
48
- - 向後相容:如何保持既有使用者不受影響?若無法,請先更新 `spec.md` 並標註破壞性變更。
49
 
50
  ## 降級與記錄策略
51
  - 可能失敗點:<列出>(例如:Vs30 查詢失敗、缺分量、測站不足等)
@@ -61,7 +61,7 @@
61
  - 品質檢查(最低):
62
  - [ ] Build/型別/格式檢查通過
63
  - [ ] 關鍵邊界情境可正確降級並記錄 log
64
- - [ ] 與 `spec.md` 之契約一致
65
 
66
  ## 風險、回滾與後續
67
  - 風險:<列出主要風險與緩解方式>
@@ -87,5 +87,3 @@ Refs: T-<YYYYMMDD>-<shortname>
87
  附錄 B:分支/PR 命名
88
  - 分支:`feature/T-<YYYYMMDD>-<shortname>`
89
  - PR 標題:`T-<YYYYMMDD>-<shortname>: <簡述>`
90
-
91
-
 
6
  - Status: Planning | In Progress | Review | Done
7
 
8
  ## 背景與目標
9
+ - 背景:為何需要這個變更?與 `docs/spec.md` 的哪一段相關?
10
  - 目標:本次要達成的使用者價值與交付物(可量化)。
11
  - 不在範圍:明確說明此次不處理的部分,避免 scope creep。
12
 
13
  ## 相關文件與位置
14
+ - 規格:`docs/spec.md`(若公共行為變更,務必同步更新)
15
  - 主程式:`app.py`
16
  - 即時樣板:`ttsam_realtime.py`
17
  - 站台資料:`station/site_info.csv`, `station/eew_target.csv`
 
27
  - `station/site_info.csv` 欄位:Station, Latitude, Longitude, Elevation。
28
  - `station/eew_target.csv` 欄位:station, latitude, longitude, elevation。
29
 
30
+ > 若本任務可能影響以上不變條件,請明列風險與必要的 `docs/spec.md` 更新計畫。
31
 
32
  ## 任務拆解(可勾選,可跨對話沿用)
33
  - [ ] 子任務 1:<描述>(變更檔案:`...`)
 
45
  ## 介面與資料形狀變更評估
46
  - UI 影響:是否需要新增/修改警告訊息或欄位?
47
  - I/O shape:輸入/輸出張量或資料欄位是否改變?
48
+ - 向後相容:如何保持既有使用者不受影響?若無法,請先更新 `docs/spec.md` 並標註破壞性變更。
49
 
50
  ## 降級與記錄策略
51
  - 可能失敗點:<列出>(例如:Vs30 查詢失敗、缺分量、測站不足等)
 
61
  - 品質檢查(最低):
62
  - [ ] Build/型別/格式檢查通過
63
  - [ ] 關鍵邊界情境可正確降級並記錄 log
64
+ - [ ] 與 `docs/spec.md` 之契約一致
65
 
66
  ## 風險、回滾與後續
67
  - 風險:<列出主要風險與緩解方式>
 
87
  附錄 B:分支/PR 命名
88
  - 分支:`feature/T-<YYYYMMDD>-<shortname>`
89
  - PR 標題:`T-<YYYYMMDD>-<shortname>: <簡述>`
 
 
task.md → docs/task.md RENAMED
@@ -6,12 +6,12 @@
6
  - Status: Planning | In Progress | Review | Done
7
 
8
  ## 背景與目標
9
- - 背景:為何需要這個變更?與 `spec.md` 的哪一段相關?
10
  - 目標:本次要達成的使用者價值與交付物(可量化)。
11
  - 不在範圍:明確說明此次不處理的部分,避免 scope creep。
12
 
13
  ## 相關文件與位置
14
- - 規格:`/spec.md`(若公共行為變更,務必同步更新)
15
  - 主程式:`app.py`
16
  - 即時樣板:`ttsam_realtime.py`
17
  - 站台資料:`station/site_info.csv`, `station/eew_target.csv`
@@ -27,7 +27,7 @@
27
  - `station/site_info.csv` 欄位:Station, Latitude, Longitude, Elevation。
28
  - `station/eew_target.csv` 欄位:station, latitude, longitude, elevation。
29
 
30
- > 若本任務可能影響以上不變條件,請明列風險與必要的 `spec.md` 更新計畫。
31
 
32
  ## 任務拆解(可勾選,可跨對話沿用)
33
  - [ ] 子任務 1:<描述>(變更檔案:`...`)
@@ -45,7 +45,7 @@
45
  ## 介面與資料形狀變更評估
46
  - UI 影響:是否需要新增/修改警告訊息或欄位?
47
  - I/O shape:輸入/輸出張量或資料欄位是否改變?
48
- - 向後相容:如何保持既有使用者不受影響?若無法,請先更新 `spec.md` 並標註破壞性變更。
49
 
50
  ## 降級與記錄策略
51
  - 可能失敗點:<列出>(例如:Vs30 查詢失敗、缺分量、測站不足等)
@@ -61,7 +61,7 @@
61
  - 品質檢查(最低):
62
  - [ ] Build/型別/格式檢查通過
63
  - [ ] 關鍵邊界情境可正確降級並記錄 log
64
- - [ ] 與 `spec.md` 之契約一致
65
 
66
  ## 風險、回滾與後續
67
  - 風險:<列出主要風險與緩解方式>
 
6
  - Status: Planning | In Progress | Review | Done
7
 
8
  ## 背景與目標
9
+ - 背景:為何需要這個變更?與 `docs/spec.md` 的哪一段相關?
10
  - 目標:本次要達成的使用者價值與交付物(可量化)。
11
  - 不在範圍:明確說明此次不處理的部分,避免 scope creep。
12
 
13
  ## 相關文件與位置
14
+ - 規格:`docs/spec.md`(若公共行為變更,務必同步更新)
15
  - 主程式:`app.py`
16
  - 即時樣板:`ttsam_realtime.py`
17
  - 站台資料:`station/site_info.csv`, `station/eew_target.csv`
 
27
  - `station/site_info.csv` 欄位:Station, Latitude, Longitude, Elevation。
28
  - `station/eew_target.csv` 欄位:station, latitude, longitude, elevation。
29
 
30
+ > 若本任務可能影響以上不變條件,請明列風險與必要的 `docs/spec.md` 更新計畫。
31
 
32
  ## 任務拆解(可勾選,可跨對話沿用)
33
  - [ ] 子任務 1:<描述>(變更檔案:`...`)
 
45
  ## 介面與資料形狀變更評估
46
  - UI 影響:是否需要新增/修改警告訊息或欄位?
47
  - I/O shape:輸入/輸出張量或資料欄位是否改變?
48
+ - 向後相容:如何保持既有使用者不受影響?若無法,請先更新 `docs/spec.md` 並標註破壞性變更。
49
 
50
  ## 降級與記錄策略
51
  - 可能失敗點:<列出>(例如:Vs30 查詢失敗、缺分量、測站不足等)
 
61
  - 品質檢查(最低):
62
  - [ ] Build/型別/格式檢查通過
63
  - [ ] 關鍵邊界情境可正確降級並記錄 log
64
+ - [ ] 與 `docs/spec.md` 之契約一致
65
 
66
  ## 風險、回滾與後續
67
  - 風險:<列出主要風險與緩解方式>