Dev status

What's moving right now — branches, recent commits, the active fire-plan day, agent activity, and the always-on three-machine crawler cadence.

Branches in flight

v1.3.0-stable-release

Production branch. Mac mini pulls from here. HEAD at aaa2c72 — Insights module just landed on stable.

Hard-attribute lock: 15 tables, 22 indexes, request state machine, hash-chained audit, tile architecture, two-layer visibility, 263 routes, 9 roles. Per PHILOSOPHY.md §2 (source in private repo).

feature/insights-module

Current active dev branch. Phase 1 (schema), phase 2 (endpoint + JS + dashboard), phase 3 (auto-infer click actions + 90-day retention purge) all shipped and merged to stable. Now carrying UI a11y + HQ polish work.

Privacy floor: no raw mouse coords, no keystrokes, no cross-session fingerprinting. ~10 commits ahead of stable.

feature/erp-demo-triad

Parent of feature/insights-module. Three-ERP-variant demo work (Lab / HQ / Compute). Day-1 fire plan landed here.

Smoke green on every push.

v2.0.0-alpha · v2.0.0-beta

Forward-version branches for the ERP-multi-portal release line. Used by start_demo_channels.sh to boot stable/beta/alpha side-by-side.

Recent dev commits — feature/insights-module

SHASubject
3a9b7adfix: portal-gate HQ mess and tuck shop
82a753aclaim: codex — hq-ui-backend-polish
d6a0e66feat(insights): 90-day telemetry retention purge at init_db
1d82b42instruments: add aria-label to '+' add-instrument icon button
a42d8e1request_detail: map approval step statuses to existing badge classes

Auto-refreshed by the post-commit hook (installed via dev-site/install_hook.sh).

Recent stable commits — v1.3.0-stable-release

SHASubject
aaa2c72release: Insights module lands on stable + fix missing make_response import
5dc42e5feat(insights): 90-day telemetry retention purge at init_db
f844de4feat(insights): auto-infer click actions so the feed fills without template churn
573c0affeat(insights): phase 2 — telemetry ingest endpoint, client JS, dashboard
a9f3960feat(insights): scaffold Insights module (phase 1 — schema only)

Local demo endpoints

Local only — requires the triad launcher (scripts/start_erp_triad.sh) running on your MacBook Pro. No public internet exposure.

Lab variant

http://localhost:5101/dev

Lab portal — instruments, queue, calendar, receipts, compute.

HQ variant

http://localhost:5102/dev

HQ portal — finance, vendor payments, personnel, attendance, mess, tuck shop, letters.

Compute variant

http://localhost:5103/dev

Compute portal — AI job submission, inventory, storage admin.

Demo login for all three: owner@catalyst.local / password 12345. The /dev route serves the project dev-site; append your own path (e.g. /, /schedule, /insights) to reach the ERP itself once signed in.

Open issues from the deep-crawl audit

In flight · Insights UI polish

Insights module telemetry backend (schema + endpoint + JS + 90-day purge) is shipped on stable. The dashboard UI pass — filters, per-user drilldown, cohort views — is the next slice. Feature branch currently carrying it.

P0 · empty_states

Owner-dashboard halts wave sanity on Operations + Compute variants — fix is a fallback empty_state tile in dashboard.html. Recipe captured. Partial fixes landed via recent a11y sweeps but the full cross-variant fallback is still open.

P1 · 112 ungated routes

Of 263 routes in app.py, 112 leak past module gating. Fix: @requires_module decorator + code-mod across the codebase.

P1 · ERP_PORTALS gaps

Only lab + hq registered. Need ravikiran_ops + compute entries; ghost modules (schedule, requests, payroll, filing) need reconciling against MODULE_REGISTRY.

P1 · seed stubs

seed_ravikiran_ops() and seed_compute() are TODOs. Operations + Compute variants boot into empty DBs.

P1 · crawler blind spot

Wave-all imports app into its own test_client without variant env, so cross-variant bleed-through is structurally invisible. Need a cross_variant_bleed strategy that boots real HTTP per variant.

Top-10 ranked actions in DEEP_CRAWL_REPORT.md (source in private repo).

Three-machine continuous crawler cadence

24×7 across MacBook Pro + Mac mini + iMac, per WORKFLOW.md §5.5 (source in private repo):

CadenceWaveRuntime
hourlywave sanity~15s
hourlyscripts/smoke_test.py~5s
every 4hwave rhythm~1 min
every 6hwave feature~varies
dailywave all~15 min
dailywave security (planned)~varies
weeklypip-audit + gitleaks + dep upgrade~varies

MBP load policy: aggressive by default, ~10% interactive headroom for human work. Mini + iMac max out always.

Recent agent runs

Most recent parallel sprint — governance docs sweep, 5 agents in parallel on sahajpur-university, all succeeded:

SprintOutputResult
3rd — governance/policydocs/HIRING_STRATEGY.mdyear-1 hiring waves + comp framework
3rddocs/SCHOLARSHIPS.mdmeans-tested + merit-based schemes
3rddocs/CURRICULUM_SHAPE.mdyear-1 B.Tech, NEP-2020 alignment
3rddocs/DATA_POLICY.mdDPDP-aligned collection/rights
3rddocs/MODULE_SPECS/admissions.mdfull year-1 admissions portal spec

2nd sprint — security + publish: docs/INCIDENT_RUNBOOK.md (IR playbook, severity ladder), docs/SECURITY_POLICY.md (threat model + controls), and the github.io public-mirror publish (catalyst/ multi-page site).

1st sprint — docs foundation: docs/APPROVAL_ROUTES.md, docs/BUDGETS.md, docs/AUDIT_RECORDS.md, docs/OPENING_DAY.md, dev-site/structure-editor-mockup.html. ~28 min wall-clock, zero merge conflicts.

Repo topology

~/Claude/sahajpur-university/        ← THIS repo (planning + governance)
~/Documents/Scheduler/Main/          ← lab-scheduler / CATALYST (the ERP code)
~/Claude/nvishvajeet.github.io/      ← public website mirror

LOCAL central git server:
  ~/.claude/git-server/sahajpur-university.git    (canonical origin)
  ~/.claude/git-server/lab-scheduler.git          (canonical origin; mirrors to mini)
  ~/.claude/git-server/nvishvajeet.github.io.git  (canonical origin; manual push to GitHub)

One bare per project. SSH key at ~/.ssh/id_ed25519 works for every git remote. Per ~/.claude/CLAUDE.md §"Project registry" (source in private repo).