# Milestone #117 · Bundles 1+2 · live integration harness + skill wiring

## What shipped

Issue | Status | Artifact
--- | --- | ---
#1438 live integration harness for gh-rate-limit-tracker | ✓ shipped | 6 files · 244 LoC under `tests/integration/hooks/gh-rate-limit-tracker/`
#1436 run eval:quality on 5 CC 2.1.116 eval files | BLOCKED | Runner verified functional; requires `ANTHROPIC_API_KEY` (OAuth session can't execute). Commented on issue with unblock path.
#1447 wire Monitor into ork:expect | ✓ shipped | Added Monitor + PushNotification to allowed-tools + runtime guidance in Phase 5
#1450 PushNotification invocation in verify/implement/fix-issue | ✓ shipped | 3 skills gained PushNotification guidance blocks with concrete invocation templates

## #1438 harness structure

    tests/integration/hooks/gh-rate-limit-tracker/
    ├── fakes/
    │   ├── gh                       (12 LoC) prints primary rate-limit error
    │   └── gh-permission-denied     (13 LoC) negative-control: plain 403
    ├── test-session.sh              (92 LoC) orchestrator
    ├── assertions/
    │   ├── golden.sh                (69 LoC) positive-case assertions
    │   └── false-positive.sh        (58 LoC) negative-case assertions
    └── README.md                    (57 LoC) usage + prereqs

Built by `ork:test-generator` subagent. Syntax-checked via `bash -n`. Not wired into CI (costs real API tokens); run manually with `ANTHROPIC_API_KEY` set.

## #1447 + #1450 — who gained what

Skill | Monitor | PushNotification guidance
--- | --- | ---
expect | NEW | NEW
implement | existing | NEW
verify | existing | NEW
fix-issue | (not needed) | NEW
brainstorm | (not needed) | existing (brief)

## Tests

    npm run build                    ✓
    npm run test:skills              ✓ (106 pass, 2 warnings)
    ./bin/validate-counts.sh         PASSED
    bash -n on all new shell scripts clean

## Remaining in milestone #117

After this PR: 4 of 12 original issues closed (the 2 invalid ones were closed separately). Still open: #1436 (blocked on API key), #1446 MCP audit, #1448 OTEL analytics, #1451 release cadence, #1452 property-based testing.

## Honest note

Used `ork:test-generator` subagent for #1438 — it delivered 244 LoC cleanly in one shot including syntax checks. Attempted `ork:eval-runner` for #1436 — correctly detected the missing API key and bailed. Both behaved properly.