Skip to content
Draft
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
eae4c68
test(schedule): require authenticated terminal reason route
seonghobae Aug 24, 2026
a4434c7
test(schedule): register terminal reason API regression
seonghobae Aug 24, 2026
1c0e1cc
feat(schedule): serve audited terminal reason writes
seonghobae Aug 24, 2026
a24f2ee
test(schedule): preserve static serve contract after composition split
seonghobae Aug 24, 2026
0637b58
test(schedule): normalize sqlite row prototype in route evidence
seonghobae Aug 24, 2026
42f64fd
test(schedule): reproduce membership revocation race
seonghobae Aug 24, 2026
3f0b81f
test(schedule): register membership revocation regression
seonghobae Aug 24, 2026
e09983c
fix(schedule): revalidate membership at write commit
seonghobae Aug 24, 2026
57a6430
test(schedule): require commit-time revocation denial
seonghobae Aug 24, 2026
1660429
fix(schedule): make commit boundary authoritative for membership
seonghobae Aug 24, 2026
97fcd6b
test(schedule): cover commit-time authority races
seonghobae Aug 24, 2026
1367ff4
test(security): reject revoked credentials at reason commit
seonghobae Aug 24, 2026
e0613c4
fix(security): revalidate reason credentials at commit
seonghobae Aug 24, 2026
77319e0
test(coverage): keep credential branches executable
seonghobae Aug 24, 2026
29e5ff3
test(auth): cover schedule JWT and PAT entry gates
seonghobae Aug 24, 2026
36a10ff
fix(stack): reconcile schedule reason API with latest version parent
seonghobae Aug 25, 2026
02891d9
test(schedule): prove reason writes notify collaborators
seonghobae Aug 27, 2026
77cc626
test(schedule): register collaboration notification regression
seonghobae Aug 27, 2026
86e923b
fix(schedule): expose committed project update notifications
seonghobae Aug 27, 2026
3cc6d2f
fix(schedule): notify collaborators after reason writes
seonghobae Aug 27, 2026
7d2c3ed
test(schedule): require revision continuity for reason versions
seonghobae Aug 27, 2026
ae67076
fix(schedule): preserve revision continuity for reason writes
seonghobae Aug 27, 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
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
"check:python-docstrings": "node scripts/ci/static_coverage_evidence.mjs docstrings",
"coverage": "npm run test:coverage",
"server": "node server/server.mjs",
"test:api": "node tests/api/auth-secret.test.mjs && node tests/api/smoke.mjs && node tests/api/ratelimit.test.mjs && node tests/api/attachment-status.test.mjs && node tests/api/session-revocation.test.mjs && node tests/api/orchestrator-attribution.test.mjs",
"test:api": "node tests/api/auth-secret.test.mjs && node tests/api/smoke.mjs && node tests/api/ratelimit.test.mjs && node tests/api/attachment-status.test.mjs && node tests/api/session-revocation.test.mjs && node tests/api/orchestrator-attribution.test.mjs && node tests/api/schedule-reason-route.test.mjs && node tests/api/schedule-reason-membership-revocation.test.mjs",
"test:unit": "node tests/unit/opencode-config.test.mjs && node tests/unit/changelog-release-notes.test.mjs && node tests/unit/analytics.test.mjs && node tests/unit/cpm.test.mjs && node tests/unit/baseline-compare.test.mjs && node tests/unit/workload.test.mjs && node tests/unit/cost-evm.test.mjs && node tests/unit/msproject.test.mjs && node tests/unit/auth-password.test.mjs && node tests/unit/editor-unsaved.test.mjs && node tests/unit/static-coverage-evidence.test.mjs && node tests/unit/dep-types.test.mjs && node tests/unit/weekly-report.test.mjs && node tests/unit/clearfolio.test.mjs && node tests/unit/clearfolio-adapter-mock-hmac.test.mjs && node tests/unit/orchestrator.test.mjs && node tests/unit/orchestrator-coverage.test.mjs && node tests/unit/orchestrator-attribution.test.mjs && node tests/unit/sprint-stats.test.mjs && node tests/unit/burndown.test.mjs && node tests/unit/pm-analysis.test.mjs && node tests/unit/cloud-sync-security.test.mjs && node tests/unit/attachment-status.test.mjs && node tests/unit/clearfolio-status-signal.test.mjs && node tests/unit/work-item-hierarchy.test.mjs && node tests/unit/schedule-outcome-domain.test.mjs && node tests/unit/schedule-outcome-domain-edge.test.mjs && node tests/unit/schedule-reason-event-domain.test.mjs && node tests/unit/schedule-reason-self-approval.test.mjs && node tests/unit/schedule-reason-event-sqlite.test.mjs && node tests/unit/schedule-reason-project-version.test.mjs && node tests/unit/coverage-script-contract.test.mjs && node tests/unit/toast-accessibility.test.mjs",
"test:coverage": "c8 --all --include=app.js --include=cloud-sync.js --include=scripts/ci/static_coverage_evidence.mjs --include=server/attachment_status.mjs --include=server/app.mjs --include=server/auth.mjs --include=server/clearfolio.mjs --include=server/orchestrator.mjs --include=server/work_item_hierarchy.mjs --include=server/schedule_outcome_domain.mjs --include=server/schedule_reason_event_domain.mjs --include=server/schedule_reason_event_sqlite.mjs --include=server/schedule_reason_event_project_version.mjs --reporter=json --reporter=json-summary npm run test:coverage:cases",
"test:coverage": "c8 --all --include=app.js --include=cloud-sync.js --include=scripts/ci/static_coverage_evidence.mjs --include=server/attachment_status.mjs --include=server/app.mjs --include=server/app_core.mjs --include=server/auth.mjs --include=server/clearfolio.mjs --include=server/orchestrator.mjs --include=server/work_item_hierarchy.mjs --include=server/schedule_outcome_domain.mjs --include=server/schedule_reason_event_domain.mjs --include=server/schedule_reason_event_sqlite.mjs --include=server/schedule_reason_event_project_version.mjs --reporter=json --reporter=json-summary npm run test:coverage:cases",
"test:coverage:cases": "node tests/unit/coverage-script-contract.test.mjs && node tests/unit/attachment-status.test.mjs && node tests/unit/clearfolio-status-signal.test.mjs && node tests/unit/clearfolio-adapter-mock-hmac.test.mjs && node tests/unit/orchestrator.test.mjs && node tests/unit/orchestrator-coverage.test.mjs && node tests/unit/orchestrator-attribution.test.mjs && node tests/unit/work-item-hierarchy.test.mjs && node tests/unit/schedule-outcome-domain.test.mjs && node tests/unit/schedule-outcome-domain-edge.test.mjs && node tests/unit/schedule-reason-event-domain.test.mjs && node tests/unit/schedule-reason-self-approval.test.mjs && node tests/unit/schedule-reason-event-sqlite.test.mjs && node tests/unit/schedule-reason-project-version.test.mjs && node tests/unit/msproject.test.mjs && node tests/unit/auth-password.test.mjs && node tests/unit/editor-unsaved.test.mjs && node tests/unit/static-coverage-evidence.test.mjs && npm run test:api",
"test:e2e": "playwright test",
"test:e2e:headed": "playwright test --headed",
Expand Down
Loading