-
released this
2026-09-30 23:27:30 +00:00 | 41 commits to main since this releaseREQ-10-004 — Self-Serve Posting Management
- D-091 shared entitlement gate — one helper, two byte-identical principal gates
- Employer write surface — create/edit/publish/close on the claimed entity with G-311 gate order, G-317 employer provenance stamps, G-318 own-drafts guard + admin re-tag parity
- PostingManager write actions — honest 402 CTA / 403 claim states per G-320b
- Admin operator routes unchanged
- Gates — 1007 fast tests + 80 web tests green
Downloads
-
released this
2026-09-30 20:32:25 +00:00 | 43 commits to main since this releaseREQ-10-003 complete: employer login/register pages with honest auth states; session-gated dashboard shell; own-postings lifecycle view with real applicant counts via the batched G-319 read; dual-schema pins employer.ts↔base.py; SessionRequiredError/ClaimRequiredError honest-state discrimination; talent pages honestly mock-labeled per D-092. Gates: 987 fast Python + 72 web green, static export emits all employer pages.
Downloads
-
released this
2026-09-30 19:31:09 +00:00 | 45 commits to main since this releaseREQ-10-002: Employer entity claim over existing EmployerRow entities.
- claim_evidence: stdlib-only normalization (advisory-only evidence per D-089/A-304) — never a gate
- G-316: partial UNIQUE index closes the pending-claim TOCTOU — duplicate pending claims are structurally impossible
- approve binds one-account-one-entity, with same-transaction audit provenance
- 5 operator routes fail-closed: 403 matrix exercised by 20 probes
- rejection frees entities for re-claim
973 fast-suite green, zero warnings.
Downloads
-
released this
2026-09-30 18:27:48 +00:00 | 47 commits to main since this releasePhase 1 of milestone v0.10 — B2B Employer Network. REQ-10-001 complete.
Employers module (
ai_service/employers/):- Pydantic contracts (base.py) — email validation, password policy via shared rules
- Employer SQLite store — 8th D-027 store family, 4 tables (accounts, sessions, throttles, claim-stubs)
- Password KDF — stdlib scrypt, KDF params pinned (N=2^14, r=8, p=1) + per-hash salt
- Sessions — hashed server-side tokens (sha256 at rest), 7-day lazy-expiry TTL
- Routes — register/login/logout/me (
api/employers.py), fail-closed secrets - Throttling — dual D-088 windows (per-IP + per-account) on register/login
- CORS — Authorization header added to preflight allow-list
- PII scrub — whole-body 422 echo scrubbing (login identifiers never reflected)
Security review: 1 P0 fixed (ctx-strip regression in 422 scrubber), 3 P1s dispositioned.
Quality: 888 fast-suite tests green, zero warnings; grill bindings G-311..G-320 honored.
Requirements covered: REQ-10-001
Downloads
-
released this
2026-09-30 15:19:27 +00:00 | 49 commits to main since this releasePhase 0 (pre-execution) of milestone v0.10 — B2B Employer Network: employers become principals.
Scope: D-085 scope lock — REQ-F-019 activated as REQ-10-001..005 (employer auth foundation, employer-entity claim/verify, dashboard real-data conversion, self-serve posting management, self-serve checkout + admin network overview).
Specification artifacts:
- Clarify: D-086..D-097 resolved (full autonomy)
- Research: R-55..R-66 (session-auth patterns, scrypt hashing, claim-evidence seam, in-tree integration probes)
- Plan: 6 vertical-slice phases, 15 waves, 30 persona-tagged tasks, 27 phase + 6 milestone must-haves
- Grill: G-311..G-320 binding decisions applied (adversarial review, SHIP-WITH-BINDINGS)
- MVP/UX gate: PASS
Requirements covered: none (pre-execution — REQ-10-001..005 remain active for phases 1-5)
Tags advance the v0.9.x line (P0 → v0.9.0 … P6 → v0.9.6 = milestone release), continuing from v0.8.6.
Downloads
-
v0.8.6
Stablereleased this
2026-09-30 11:03:38 +00:00 | 50 commits to main since this releaseDownloads
-
v0.8.5
Stablereleased this
2026-09-30 10:27:31 +00:00 | 41 commits to main since this releaseDownloads
-
v0.8.4
Stablereleased this
2026-09-30 10:22:02 +00:00 | 43 commits to main since this releaseDownloads
-
v0.8.3
Stablereleased this
2026-09-29 22:03:21 +00:00 | 45 commits to main since this releaseDownloads
-
v0.8.2
Stablereleased this
2026-09-29 21:33:53 +00:00 | 47 commits to main since this releaseDownloads