Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
20f2ef0
fix(opencode): tolerate older auto-approval flags (#1101)
zts212653 Jul 8, 2026
502d3fb
fix(opencode): recognize GLM v4 provider endpoints (#1116)
zts212653 Jul 8, 2026
7062de8
fix(f24): raise stale CLI context-window reports to known-model floor…
Ryann-Leee Jul 8, 2026
d11347d
fix(pr-tracking): deliver terminal lifecycle notification + wake owner
Ryann-Leee Jul 8, 2026
e833314
verdict(eval:a2a): 2026-07-09-eval-a2a-restart-clean-keep-observe — k…
bouillipx Jul 9, 2026
5d178c1
verdict(eval:friction): 2026-07-09-eval-friction-timeout-singleton-wi…
bouillipx Jul 9, 2026
ebffcd8
feat(F237): Phase 2 — Hook Pipeline migration with trace bridging (#1…
mindfn Jul 9, 2026
27445de
fix(windows): hide gh CLI child windows to prevent console flash (#1129)
labulalala Jul 9, 2026
b6120f2
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jul 9, 2026
9d21a0d
verdict(eval:a2a): 2026-07-11-eval-a2a-low-traffic-clean-keep-observe…
bouillipx Jul 11, 2026
30f5ba1
verdict(eval:friction): 2026-07-12-eval-friction-singleton-user-feedb…
bouillipx Jul 12, 2026
3157ca4
verdict(eval:a2a): 2026-07-12-eval-a2a-denominator-recovered-clean-ke…
bouillipx Jul 12, 2026
2057de4
verdict(eval:qc): 2026-07-12-eval-qc-zero-baseline-w28 — keep_observe…
bouillipx Jul 12, 2026
bd36863
verdict(eval:anchor-first): 2026-07-12-eval-anchor-first-c1-keep-obse…
bouillipx Jul 12, 2026
561787d
sync: merge main into develop (resolve 3 conflicts)
bouillipx Jul 12, 2026
2bfd3c7
feat(sync): auto-resolve merge conflicts in daily upstream sync
bouillipx Jul 12, 2026
6ccf14b
fix(sync): resolve CiCdRouter message builder conflict
bouillipx Jul 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 26 additions & 2 deletions .github/workflows/sync-upstream-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,26 @@ jobs:

- name: Merge upstream into main
id: main
# Auto-conflict resolution: when upstream/main conflicts with fork/main,
# upstream wins (-X theirs). fork/main's job is to track upstream; any
# fork-specific code belongs on develop. Verdict/eval commits on main
# add new files and rarely conflict with upstream code changes.
# The gate step below still validates the merged result before pushing.
run: |
set -euo pipefail
git switch -C main origin/main
git reset --hard origin/main

before="$(git rev-parse HEAD)"
git merge --no-edit upstream/main

if git merge --no-edit upstream/main; then
echo "Clean merge (no conflicts)"
else
echo "::warning::upstream→main merge conflict detected — auto-resolving (upstream wins: -X theirs)"
git merge --abort
git merge -X theirs --no-edit upstream/main
fi

after="$(git rev-parse HEAD)"

if [ "$before" = "$after" ]; then
Expand Down Expand Up @@ -123,6 +136,11 @@ jobs:

- name: Prepare develop sync branch
id: develop
# Auto-conflict resolution: when main conflicts with develop, develop
# wins (-X ours). develop is the active fork branch with feature work;
# upstream changes that conflict with fork code should not silently
# overwrite them. Non-conflicting upstream changes still merge in
# normally. The PR gives reviewers a chance to inspect the result.
run: |
set -euo pipefail
git switch -C "$SYNC_BRANCH" origin/develop
Expand All @@ -133,7 +151,13 @@ jobs:
exit 0
fi

git merge --no-edit main
if git merge --no-edit main; then
echo "Clean merge (no conflicts)"
else
echo "::warning::main→develop merge conflict detected — auto-resolving (develop wins: -X ours)"
git merge --abort
git merge -X ours --no-edit main
fi

if git diff --quiet origin/develop HEAD; then
echo "needs_pr=false" >> "$GITHUB_OUTPUT"
Expand Down
4 changes: 4 additions & 0 deletions assets/prompt-hooks/b1-会话引导/b1-session-bootstrap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<!-- B1: 会话引导 (Session Bootstrap) -->
<!-- Fires on session-init. Provides initial session guidance. -->
<!-- Full content will be populated when session bootstrap data is wired in. -->
[Session Bootstrap: initialized]
26 changes: 26 additions & 0 deletions assets/prompt-hooks/b1-会话引导/hook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
id: B1
name: 会话引导
stage: session-init
order: 2100
version: 1
enabled: true

# Content resolution
template: b1-session-bootstrap.md
resolver: B1BootstrapResolver

# Dependencies
inputs:
- isNewSession
- bootstrapData

# Override constraints
disableable: true

# Classification (Phase 1 3-axis)
safetyTier: readonly
transparencyTier: opt-in-view
governanceTier: human-gated

# CVO-facing
userExplanation: "新会话的初始化引导信息"
1 change: 1 addition & 0 deletions assets/prompt-hooks/c1-mcp-回调/.template-ref
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Phase 1 template: assets/prompt-templates/c1-mcp-callback.md
26 changes: 26 additions & 0 deletions assets/prompt-hooks/c1-mcp-回调/hook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
id: C1
name: MCP 回调
stage: session-init
order: 2200
version: 1
enabled: true

# Content resolution
template: c1-mcp-callback.md
resolver: C1McpCallbackResolver

# Dependencies
inputs:
- mcpAvailable
- mcpCallbackContent

# Override constraints
disableable: true

# Classification (Phase 1 3-axis)
safetyTier: editable
transparencyTier: opt-in-view
governanceTier: auto-evolve

# CVO-facing
userExplanation: "MCP 服务可用时注入的回调提示"
1 change: 1 addition & 0 deletions assets/prompt-hooks/d1-身份锚定/.template-ref
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Phase 1 template: assets/prompt-templates/d1-identity-anchor.md
25 changes: 25 additions & 0 deletions assets/prompt-hooks/d1-身份锚定/hook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
id: D1
name: 身份锚定
stage: per-turn
order: 100
version: 1
enabled: true

# Content resolution
template: d1-identity-anchor.md
resolver: D1IdentityAnchorResolver

# Dependencies
inputs:
- identity

# Override constraints
disableable: false

# Classification (Phase 1 3-axis)
safetyTier: readonly
transparencyTier: visible-by-default
governanceTier: immutable

# CVO-facing
userExplanation: "每轮重申身份以防偏移"
1 change: 1 addition & 0 deletions assets/prompt-hooks/d10-批评标签/.template-ref
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Phase 1 template: assets/prompt-templates/d10-critique-tag.md
25 changes: 25 additions & 0 deletions assets/prompt-hooks/d10-批评标签/hook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
id: D10
name: 批评标签
stage: per-turn
order: 1000
version: 1
enabled: true

# Content resolution
template: d10-critique-tag.md
resolver: D10CritiqueTagResolver

# Dependencies
inputs:
- critiqueTag

# Override constraints
disableable: true

# Classification (Phase 1 3-axis)
safetyTier: readonly
transparencyTier: opt-in-view
governanceTier: human-gated

# CVO-facing
userExplanation: "用于标记需要批判性审视的内容"
1 change: 1 addition & 0 deletions assets/prompt-hooks/d11-skill-触发/.template-ref
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Phase 1 template: assets/prompt-templates/d11-skill-trigger.md
25 changes: 25 additions & 0 deletions assets/prompt-hooks/d11-skill-触发/hook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
id: D11
name: Skill 触发
stage: per-turn
order: 1100
version: 1
enabled: true

# Content resolution
template: d11-skill-trigger.md
resolver: D11SkillTriggerResolver

# Dependencies
inputs:
- skillTrigger

# Override constraints
disableable: true

# Classification (Phase 1 3-axis)
safetyTier: readonly
transparencyTier: opt-in-view
governanceTier: human-gated

# CVO-facing
userExplanation: "自动触发的 skill 上下文"
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<!-- D12: 活跃参与者 -->
<!-- Template placeholder — content in P2-B resolver -->
25 changes: 25 additions & 0 deletions assets/prompt-hooks/d12-活跃参与者/hook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
id: D12
name: 活跃参与者
stage: per-turn
order: 1200
version: 1
enabled: true

# Content resolution
template: d12-active-participants.md
resolver: D12ActiveParticipantsResolver

# Dependencies
inputs:
- activeParticipants

# Override constraints
disableable: true

# Classification (Phase 1 3-axis)
safetyTier: readonly
transparencyTier: opt-in-view
governanceTier: human-gated

# CVO-facing
userExplanation: "当前 thread 中活跃的猫猫列表"
1 change: 1 addition & 0 deletions assets/prompt-hooks/d13-路由策略/.template-ref
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Phase 1 template: assets/prompt-templates/d13-routing-policy.md
25 changes: 25 additions & 0 deletions assets/prompt-hooks/d13-路由策略/hook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
id: D13
name: 路由策略
stage: per-turn
order: 1300
version: 1
enabled: true

# Content resolution
template: d13-routing-policy.md
resolver: D13RoutingPolicyResolver

# Dependencies
inputs:
- routingPolicy

# Override constraints
disableable: true

# Classification (Phase 1 3-axis)
safetyTier: readonly
transparencyTier: opt-in-view
governanceTier: human-gated

# CVO-facing
userExplanation: "当前的消息路由策略"
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<!-- D14: SOP 阶段提示 -->
<!-- Template placeholder — content in P2-B resolver -->
25 changes: 25 additions & 0 deletions assets/prompt-hooks/d14-sop-阶段提示/hook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
id: D14
name: SOP 阶段提示
stage: per-turn
order: 1400
version: 1
enabled: true

# Content resolution
template: d14-sop-stage-hint.md
resolver: D14SopStageResolver

# Dependencies
inputs:
- sopStageHint

# Override constraints
disableable: true

# Classification (Phase 1 3-axis)
safetyTier: readonly
transparencyTier: opt-in-view
governanceTier: human-gated

# CVO-facing
userExplanation: "当前所处的 SOP 工作阶段"
1 change: 1 addition & 0 deletions assets/prompt-hooks/d15-语音模式/.template-ref
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Phase 1 template: assets/prompt-templates/d15-voice-on.md
25 changes: 25 additions & 0 deletions assets/prompt-hooks/d15-语音模式/hook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
id: D15
name: 语音模式
stage: per-turn
order: 1500
version: 1
enabled: true

# Content resolution
template: d15-voice-on.md
resolver: D15VoiceModeResolver

# Dependencies
inputs:
- voiceMode

# Override constraints
disableable: true

# Classification (Phase 1 3-axis)
safetyTier: readonly
transparencyTier: visible-by-default
governanceTier: human-gated

# CVO-facing
userExplanation: "语音模式开关状态和行为指导"
2 changes: 2 additions & 0 deletions assets/prompt-hooks/d16-bootcamp-模式/d16-bootcamp-mode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<!-- D16: Bootcamp 模式 -->
<!-- Template placeholder — content in P2-B resolver -->
25 changes: 25 additions & 0 deletions assets/prompt-hooks/d16-bootcamp-模式/hook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
id: D16
name: Bootcamp 模式
stage: per-turn
order: 1600
version: 1
enabled: true

# Content resolution
template: d16-bootcamp-mode.md
resolver: D16BootcampResolver

# Dependencies
inputs:
- bootcampMode

# Override constraints
disableable: true

# Classification (Phase 1 3-axis)
safetyTier: readonly
transparencyTier: opt-in-view
governanceTier: human-gated

# CVO-facing
userExplanation: "新用户引导模式的上下文"
1 change: 1 addition & 0 deletions assets/prompt-hooks/d17-引导候选/.template-ref
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Phase 1 template: assets/prompt-templates/d17-guide-candidate.md
25 changes: 25 additions & 0 deletions assets/prompt-hooks/d17-引导候选/hook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
id: D17
name: 引导候选
stage: per-turn
order: 1700
version: 1
enabled: true

# Content resolution
template: d17-guide-candidate.md
resolver: D17GuideCandidateResolver

# Dependencies
inputs:
- guideCandidate

# Override constraints
disableable: true

# Classification (Phase 1 3-axis)
safetyTier: readonly
transparencyTier: opt-in-view
governanceTier: human-gated

# CVO-facing
userExplanation: "当前可触发的引导流程候选"
1 change: 1 addition & 0 deletions assets/prompt-hooks/d18-世界上下文/.template-ref
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Phase 1 template: assets/prompt-templates/d18-world-context.md
25 changes: 25 additions & 0 deletions assets/prompt-hooks/d18-世界上下文/hook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
id: D18
name: 世界上下文
stage: per-turn
order: 1800
version: 1
enabled: true

# Content resolution
template: d18-world-context.md
resolver: D18WorldContextResolver

# Dependencies
inputs:
- worldContext

# Override constraints
disableable: true

# Classification (Phase 1 3-axis)
safetyTier: readonly
transparencyTier: opt-in-view
governanceTier: human-gated

# CVO-facing
userExplanation: "当前世界/项目的环境上下文"
Loading