M117 — CC 2.1.117 Adoption Closeout

Four real features + two close-comment tickets. Split surfaced by deep-audit before coding.

#1447 — Monitor canonical patterns

Adds src/skills/chain-patterns/references/monitor-patterns.md and threads a Read(...) link into the four skills that background builds, tests, agents, or agent-browser plans.

SkillExisting sectionDelta
ork:implementMonitor Tool for Background Streaming+1 ref link, +1 eval case
ork:coverMonitor + Partial Results+1 ref link, +1 eval case
ork:verifyMonitor + Partial Results+1 ref link, +1 eval case
ork:expectagent-browser streaming block+1 ref link, +1 eval case
Zero TaskOutput(block=true) residuals found in src/skills/ at audit time — the anti-pattern cited in the issue was already cleaned up. Real delta is doc consolidation + eval cases that assert future regressions.

#1450 — PushNotification on completion

New canonical rule at src/skills/chain-patterns/rules/push-notification-on-completion.md. Wires explicit call sites into four long-running skills so outcomes surface even after context-switch.

SkillTypical runtimeTrigger
ork:implement10–30 minfinal synthesis after PR opened
ork:cover15–45 minPhase 6 report assembled
ork:audit-full15–60 minreport written + checklist passes
ork:demo-producer10–45 minall variant outputs written
audit-full and demo-producer also get PushNotification added to their allowed-tools frontmatter (previously absent). Fallback behavior: the tool is a silent no-op for users without Remote Control — no capability detection needed.

#1448 — CC 2.1.117 OTEL enrichments

Consumes three new OpenTelemetry attributes and adds a new otel subcommand to ork:analytics.

FieldSourcePanel
command_nameuser_promptTop slash commands
command_sourceuser_promptuser-typed vs model-delegated split
effortcost.usage, api_requestPer-effort cost + success-rate correlation
Every query falls back cleanly: 2>/dev/null on missing file + select(.field != null) skips pre-2.1.117 events. If no OTEL files exist, the panels are omitted (not rendered empty). Canonical doc: src/skills/analytics/references/otel-fields.md.

#1451 — Release-please weekly cron floor

Adds schedule: cron '0 9 * * 1' (Mondays 09:00 UTC) to the Release workflow. Release-please skips when there's nothing to ship, so the cron never produces empty PRs — it's a floor, not a ceiling. Documented in CONTRIBUTING.md § Versioning → Release Cadence.

Existing triggers unchanged: push.main still cuts releases on every conventional-commit merge.

#1449 + #1453 — Closeout (no code)

Both issues were filed on a misread of cc-version-matrix.ts: having a matrix entry means the feature is tracked in compatibility, not that there's no hook. PR #1454 already assessed them as invalid-premise but forgot the Closes syntax, so they stayed open.

IssuePremiseReality
#1449CwdChanged/FileChanged hooks missingBoth registered: lifecycle/cwd-changed.ts (207 LOC), lifecycle/file-changed.ts (56 LOC)
#1453Setup/SubagentStart/InstructionsLoaded/TaskCreated deferredAll 4 fully shipped: 7 + 6 + 9 + 4 handlers respectively
PR-1 body contains Closes #1449 #1453 with a comment linking back to #1454's verdict.

Deferred to PR-2 (#1452)

fast-check property tests: ~600 LOC / ~12 files of pure test infra. Nightly-only workflow, no PR-CI impact. Orthogonal to adoption — lands after PR-1 merges.

Branch & commit map

feat/m117-cc-2-1-117-adoption
├─ 0a89c31  chore(ci,#1451): weekly cron floor
├─ 2593827  feat(skills,#1450): PushNotification on completion
├─ 179c3cc  feat(skills,#1447): canonical Monitor patterns + eval cases
└─ d5bb7a1  feat(skills,#1448): CC 2.1.117 OTEL enrichments
          (rebased atop 096fa465b chore: release 7.67.0)