|
| 1 | +# Session State — 2026-05-15 |
| 2 | + |
| 3 | +## Workspace |
| 4 | + |
| 5 | +Five active projects in the CodifideEcoSystem workspace: |
| 6 | +- `/Users/douglasjones/Projects/CodifideProgrammingLanguage` — Codifide programming language |
| 7 | +- `/Users/douglasjones/Projects/publicsite` — codifide.com (Vercel, live) |
| 8 | +- `/Users/douglasjones/Projects/codifide-health` — healthcare analytics platform (private) |
| 9 | +- `/Users/douglasjones/Projects/DecodeTheSign` — iOS parking app (private, paused) |
| 10 | +- `/Users/douglasjones/Projects/agentic-stage-gate-governance` — governance template (public) |
| 11 | + |
| 12 | +--- |
| 13 | + |
| 14 | +## What was completed this session |
| 15 | + |
| 16 | +### Site updates (publicsite) |
| 17 | + |
| 18 | +- **Email notice banner** added to index.html — "We apologize if you sent us an email |
| 19 | + this week…" — to be removed Sunday May 17. |
| 20 | +- **Glossary page** (`/glossary`) — 40+ terms across 6 sections (Language, Data & Formats, |
| 21 | + Healthcare, Infrastructure, Governance, General). Live search filter. Added to nav on |
| 22 | + all pages. |
| 23 | +- **Stats dashboard** (`/stats`) — live metrics from GitHub (stars, forks, watchers, issues, |
| 24 | + latest release, release downloads), PyPI (downloads by period, latest version), and |
| 25 | + registry (symbol count, health status). Auto-fetches on page load with timestamp. |
| 26 | +- **Live counters on main page** — GitHub stars and PyPI downloads added to the lang-stats |
| 27 | + strip on index.html. |
| 28 | +- **Server-side GitHub proxy** (`/api/github_stats.py`) — avoids CORS and rate limits. |
| 29 | + `GITHUB_TOKEN` added to Vercel env vars. |
| 30 | +- **Stats nav link** added to all pages. |
| 31 | +- **Vercel Blob private store fixed** — root cause: API v12 requires `x-vercel-blob-access` |
| 32 | + header and `/?pathname=` URL format (not v7 query params). Fixed in |
| 33 | + `api/codifide/store/blob_store.py`. |
| 34 | + |
| 35 | +### Registry — V4-3 complete |
| 36 | + |
| 37 | +- All 5 pipeline symbols now live at codifide.com/registry: |
| 38 | + - `classify_content` — `sha256:377099c5…` |
| 39 | + - `moderate` — `sha256:1bbe69ba…` |
| 40 | + - `route_message` — `sha256:68c15e11…` |
| 41 | + - `run_pipeline` — `sha256:93155272…` |
| 42 | + - `composed_pipeline` — `sha256:311ba990…` |
| 43 | +- End-to-end verified: `python3 -m codifide run pipeline_composed.cod --registry https://codifide.com` returns `blocked`. |
| 44 | +- `docs/REGISTRY.md` updated with all 5 identities. |
| 45 | +- V4-3-2 and V4-3-5 marked complete in `.kiro/specs/v4-language/tasks.md`. |
| 46 | + |
| 47 | +### Language — is_bottom interpreter fix |
| 48 | + |
| 49 | +- **Bug:** `is_bottom` was raising `BottomPropagationError` when receiving a bottom value — |
| 50 | + the opposite of its purpose. The interpreter's `_call_primitive` treated it like any |
| 51 | + other primitive. |
| 52 | +- **Fix:** `is_bottom` is now exempt from the propagation check in `interpreter.py`. |
| 53 | +- **Tests:** 7 new tests in `IsBottomTests` class in `tests/test_runtime.py` covering: |
| 54 | + literal bottom, normal value, direct-call on refusing function, direct-call on |
| 55 | + non-refusing function, `BottomWithReason`, bind pattern, conditional expression. |
| 56 | +- **Quickref updated:** `docs/AGENT_QUICKREF.md` — removed outdated WRONG/RIGHT framing; |
| 57 | + both patterns now work. |
| 58 | + |
| 59 | +### RPC adversarial test gaps closed |
| 60 | + |
| 61 | +Three new tests added to `tests/test_server.py`: |
| 62 | +- `test_post_unknown_path_404` — POST to unknown path returns 404 |
| 63 | +- `test_head_malformed_identity_404` — HEAD on malformed identity returns 404 |
| 64 | +- `test_imports_corrupt_stored_object_returns_500` — GET /imports with corrupt stored object returns 500 |
| 65 | + |
| 66 | +### PyPI publish pipeline |
| 67 | + |
| 68 | +- CI workflow updated: `pip install -e "." pytest hypothesis` (removed `[blob]` extra |
| 69 | + which required Python ≥3.10 but CI tests 3.9). |
| 70 | +- `PYPI_API_TOKEN` added as GitHub Actions secret. |
| 71 | +- CI was failing with 403 Forbidden — secret was missing. Fixed and re-triggered. |
| 72 | +- **Status at session end:** CI run in progress (`503d298`). Tests passed on previous |
| 73 | + run; publish job should succeed this run. PyPI package not yet confirmed live. |
| 74 | + |
| 75 | +### Dependabot PRs merged (all 5) |
| 76 | + |
| 77 | +- #5 sha2 0.10 → 0.11 |
| 78 | +- #6 criterion 0.5 → 0.8 |
| 79 | +- #7 actions/setup-python v5 → v6 |
| 80 | +- #8 actions/checkout v4 → v6 |
| 81 | +- #9 github/codeql-action v3 → v4 |
| 82 | + |
| 83 | +### Persona and doc updates |
| 84 | + |
| 85 | +All 5 persona catch-up sections updated to v4.0 in `.kiro/steering/personas/`: |
| 86 | +- `glyph.md`, `quill.md`, `sable.md`, `axiom.md`, `relay.md` |
| 87 | + |
| 88 | +`pip install codifide` added as primary install path to: |
| 89 | +- `docs/FOR_AGENTS.md` |
| 90 | +- `GETTING_STARTED.md` |
| 91 | + |
| 92 | +### GitHub Discussions |
| 93 | + |
| 94 | +Two announcements posted: |
| 95 | +- [#10 — v3.0](https://github.com/codifide/codifide-programming-language/discussions/10) |
| 96 | +- [#11 — v4.0](https://github.com/codifide/codifide-programming-language/discussions/11) |
| 97 | + |
| 98 | +--- |
| 99 | + |
| 100 | +## Open items for next session |
| 101 | + |
| 102 | +| # | Item | Priority | Notes | |
| 103 | +|---|------|----------|-------| |
| 104 | +| 1 | Confirm PyPI package live | P1 | CI run `503d298` in progress at session end; check `pip install codifide` | |
| 105 | +| 2 | Remove email notice banner | P3 | Sunday May 17 — remove from `index.html` and deploy | |
| 106 | +| 3 | New agent case study | P2 | Validate v4.0 adoption improvements; Relay's KPI unvalidated | |
| 107 | +| 4 | Sable audit of stats proxy | P3 | `/api/github_stats.py` — unauthenticated fallback behavior, timeout | |
| 108 | +| 5 | DecodeTheSign TODO items | — | Map coverage, blank-screen-after-scan bug, StoreKit/CloudKit | |
| 109 | + |
| 110 | +--- |
| 111 | + |
| 112 | +## Key files changed this session |
| 113 | + |
| 114 | +| File | Change | |
| 115 | +|------|--------| |
| 116 | +| `codifide/runtime/interpreter.py` | `is_bottom` exempt from `BottomPropagationError` check | |
| 117 | +| `tests/test_runtime.py` | 7 new `IsBottomTests` | |
| 118 | +| `tests/test_server.py` | 3 new adversarial tests | |
| 119 | +| `docs/AGENT_QUICKREF.md` | `is_bottom` docs corrected | |
| 120 | +| `docs/REGISTRY.md` | All 5 symbol identities | |
| 121 | +| `docs/FOR_AGENTS.md` | `pip install codifide` install section | |
| 122 | +| `GETTING_STARTED.md` | `pip install codifide` install section | |
| 123 | +| `.kiro/specs/v4-language/tasks.md` | V4-3-2 and V4-3-5 marked complete | |
| 124 | +| `.kiro/steering/personas/*.md` | All 5 catch-up sections updated to v4.0 | |
| 125 | +| `.github/workflows/ci.yml` | `pip install -e "." pytest hypothesis`; checkout@v6; setup-python@v6 | |
| 126 | +| `publicsite/glossary.html` + `glossary.css` | New glossary page | |
| 127 | +| `publicsite/stats.html` + `stats.css` + `stats.js` | New stats dashboard | |
| 128 | +| `publicsite/api/github_stats.py` | Server-side GitHub proxy | |
| 129 | +| `publicsite/api/codifide/store/blob_store.py` | Vercel Blob v12 API fix | |
| 130 | +| `publicsite/index.html` | Live counters, Stats nav link, email notice banner | |
| 131 | +| `publicsite/vercel.json` | `/glossary`, `/stats`, `/api/github-stats` routes | |
| 132 | + |
| 133 | +--- |
| 134 | + |
| 135 | +## NFR baselines (current) |
| 136 | + |
| 137 | +| Metric | Value | |
| 138 | +|--------|-------| |
| 139 | +| Python tests | 461 passing, 0 skipped | |
| 140 | +| `dispatch-check` | exits 0 | |
| 141 | +| Capability manifest hash | `sha256:341b82f074cc59f929415cf571bfe27da5127270ebb86618f575fe107514ffe1` | |
| 142 | +| Registry symbols live | 5 | |
| 143 | +| GitHub stars | 1 | |
| 144 | +| PyPI | publish in progress | |
| 145 | +| Site | codifide.com — live, all pages deployed | |
0 commit comments