DONE
Observed base: main@536e657 Execution base: main@4510833
Provider id、name、URL、host、origin、mode 和默认选择状态分别维护在 popup、workspace、service worker 和 adapter 中,容易发生语义漂移。
由共享 Provider Catalog 提供运行时元数据,并由契约测试验证 Catalog、Manifest、adapter 和入口脚本加载顺序的一致性。
Focused:
Repository / Regression:
Package:
4510833
[HANDOFF]
STATUS: DONE ISSUE: #4 LANE: provider-runtime EXECUTION_BASE: main@536e657 BRANCH: main HEAD: 4510833 PR: none OWNED_SCOPE: shared Provider Catalog and catalog contract tests SENSITIVE_SURFACES_TOUCHED: none CHANGED: shared/provider-catalog.js; popup/workspace/service-worker entry points; provider catalog tests AC_STATUS: complete; all acceptance criteria checked in the issue body VALIDATION: npm test (10/10); npm run check; extension check; package:extension SECURITY_PERMISSION_DELTA: none KNOWN_RISKS: authenticated provider selector validation remains browser-dependent BLOCKERS: none NEXT: browser-backed selector validation
No dependencies set.
The note is not visible to the blocked user.
Execution State
DONE
Observed base: main@536e657
Execution base: main@4510833
Problem
Provider id、name、URL、host、origin、mode 和默认选择状态分别维护在 popup、workspace、service worker 和 adapter 中,容易发生语义漂移。
Target
由共享 Provider Catalog 提供运行时元数据,并由契约测试验证 Catalog、Manifest、adapter 和入口脚本加载顺序的一致性。
Invariants
Acceptance Criteria
Validation
Focused:
Repository / Regression:
Package:
Changes
Commit
4510833refactor(extension): centralize provider catalogKnown Limitations
[HANDOFF]
STATUS: DONE
ISSUE: #4
LANE: provider-runtime
EXECUTION_BASE: main@536e657
BRANCH: main
HEAD:
4510833PR: none
OWNED_SCOPE: shared Provider Catalog and catalog contract tests
SENSITIVE_SURFACES_TOUCHED: none
CHANGED: shared/provider-catalog.js; popup/workspace/service-worker entry points; provider catalog tests
AC_STATUS: complete; all acceptance criteria checked in the issue body
VALIDATION: npm test (10/10); npm run check; extension check; package:extension
SECURITY_PERMISSION_DELTA: none
KNOWN_RISKS: authenticated provider selector validation remains browser-dependent
BLOCKERS: none
NEXT: browser-backed selector validation