Commit Graph

32 Commits

Author SHA1 Message Date
8065d4837a Mark milestone 7a as Done 2026-05-12 20:46:03 -05:00
b479f5981b M7-7b: archive operator-ia change — declare operator panel IA
Define the catalog/runtime/integration layering, per-org composite
view route, curated landing surface, breadcrumb positional contract,
reserved query-param real estate, and single-entry-point grant action
affordances. Adds 6 requirements to operator-panel-navigation; the
legacy ?tab= SPA contract stays until M7d retires it.

Also files an independent tech-debt item for member-console reading
products.product_type directly instead of the billing.product_kinds
view, per upstream membcons-db Doc 35 Product Kind Taxonomy.
2026-05-12 16:16:20 -05:00
fd7c61d594 Add Operator Panel IA decision record and spec delta
Introduce docs/operator-ia.md and an OpenSpec change "operator-ia" with
design, proposal, spec delta, and tasks; update status to mark M7b In
progress
2026-05-12 15:51:42 -05:00
bc5c309d12 Mark M6 complete; file Phase A v1+v2 UX bugs
status/milestones.md: mark M6 phases 6a-6f as Done — the plan-ladder
schema, transition primitive, operator catalog/auto-provisioning/
enrollment UIs, and member tier-aware view have all landed and are
exercised by Phase A v2 evidence.

status/issues.md: file 11 concrete bugs surfaced during Phase A v1
and v2 walkthroughs that were previously only living in
docs/operator-ux-walkthrough-evidence/INDEX.md. Distinction: research
findings stay in INDEX.md; bugs go in issues.md so they're tracked
for M7 sub-phases to pick up.

Filed:
- v1: heading hierarchy (a11y), missing autocomplete (a11y), inline
  event-handler (CSP), URL/route/code naming drift, FedWiki Sites
  empty under seed, operator SPA partial eager-fetch.
- v2: rules form supports only limit rules, revoke-and-transition
  empty-product-name interpolation defect, lifecycle_status not
  exposed in product edit, plan-ladder Tiers "no products" copy is
  misleading, two grant-issuance surfaces with no cross-link, two
  grant-revoke paths non-equivalent and indistinguishable.
2026-05-11 10:55:14 -05:00
dbde5bd59f Fix Keycloak test seed user-id pinning
POST /admin/realms/{realm}/users silently drops the `id` field on
Keycloak 26.x. Switch user creation in seed-keycloak.sh to
POST /admin/realms/{realm}/partialImport, which preserves the pinned
id (verified by round-trip). This restores deterministic UUIDs for
alice/bob/carlos/diana and unblocks downstream consumers that depend
on stable `sub` claims (FedWiki owner.json references, demo seeder
person rows).
2026-05-11 10:55:14 -05:00
1012a01028 Add Phase A operator UX walkthrough evidence
Deterministic capture of the operator panel: per-slug evidence
(screenshots, console/network dumps, a11y and tab-order data) stored
under docs/operator-ux-walkthrough-evidence. Add Phase A task briefing
and update status files to mark 7a progress and note downstream issues
2026-05-11 10:55:14 -05:00
ab766165a2 Add operator UX research and integrations 2026-05-11 10:55:14 -05:00
66c8d84a2c worktree test stacks isolation. 2026-04-29 03:28:43 -05:00
a0638e282e Add Operator UX Foundation milestone and docs. 2026-04-27 02:38:03 -05:00
0b57afb4ec Add plan management foundation design and specs 2026-04-19 14:10:37 -05:00
cdd075dc0b fix meter in products page. 2026-04-13 02:36:02 -05:00
25a206e371 Fix operator panel tabs 2026-04-13 02:22:49 -05:00
89e97945c4 Clarify plan concept depth in milestones 2026-04-12 17:02:40 -05:00
1a89bbd292 Products page done. 2026-04-11 20:40:36 -05:00
fe2767f5d1 Add OpenSpec for Member Products page 2026-04-11 19:49:12 -05:00
34388180ad Add deployment architecture doc and milestones 2026-04-11 04:23:42 -05:00
6f2788b9a0 Enable auto-provision of default entitlements. 2026-04-10 14:15:13 -05:00
479f44c5b4 Document FedWiki service tiers and status 2026-04-09 02:06:50 -05:00
ac83638852 Auto-provision default billing account 2026-04-07 08:14:35 -05:00
9f719f263e Remove DB seed migrations for products and prices 2026-04-07 03:47:50 -05:00
eaa69e525f Local secrets management. 2026-04-05 00:22:06 -05:00
d0a1684216 Openspec for stripe product catalog sync 2026-04-04 14:08:49 -05:00
f78c53effc Document FedWiki sync and Keycloak seed issues
Describe that fedwiki.sites is not repopulated from existing site
directories after a DB reset, causing operator and member UIs to show
no sites. Add a note that the Keycloak seed script pins user IDs but
Keycloak may assign different UUIDs, breaking disk-to-IDP ownership
links (example: owner.json shows a different id than the pinned one).
2026-04-03 03:56:28 -05:00
294a573e66 Add Milestone 4 (Stripe) to status docs
Also add an issues entry that provider_configs should be an app-level
config (discovered during Stripe planning), and update the Future table
to
reference Milestone 4
2026-04-02 02:20:54 -05:00
b5af13ae1e Add status tracking docs and Claude hook 2026-03-30 03:18:34 -05:00
675a4d93a3 Buffer template rendering and fix FedWiki sync
Introduce SafeTemplates.Render to execute templates into a buffer and
prevent partial HTML on errors. Replace direct ExecuteTemplate calls in
partial handlers and add a make lint-templates target to catch bypasses.
Update operator sites template/view model to use OwnerOrgName. Guard the
FedWiki sync by skipping inserts when DefaultWorkspaceID is empty and
scope deletes to the configured default workspace only.
2026-03-29 04:58:02 -05:00
8bf41b1090 Document UI/UX gaps and mark milestones complete
Mark Milestones 1 and 2 as complete and add Milestone 3
(UI/UX alignment) to the roadmap. Add a detailed UI/UX gap
analysis and operator/frontend action items. Note DNS label/FQDN
validation shortcomings and recommend purging the vestigial
IsMember view flag.
2026-03-26 19:01:09 -05:00
15e1a59fe7 Introduce entitlement sets and migrations
Add entitlement_sets and entitlement_set_rules with seed data and a
migration that backfills products, grants, and pool_provisions, then
removes product_entitlement_rules. Update Go models, sqlc queries,
materialization, and grant/provision flows to use entitlement_set_id.
Fix assembleMigrations to assign stable per-module numeric namespaces.
Move DB docs to docs/database-management.md and add design/specs/tests.
2026-03-26 18:19:19 -05:00
4bf69f0e7f Note FedWiki sync fails on empty workspace ID
SyncSitesToDBActivity passes an empty string to UpsertSiteByDomain,
causing an invalid UUID insertion that Postgres rejects. Either
configure
a valid DefaultWorkspaceID or make the activity skip/handle empty IDs
gracefully.
2026-03-26 03:55:02 -05:00
6330ae7a42 Grants management! 2026-03-24 17:35:14 -05:00
f737dd0314 Identity and organization modules. 2026-03-23 17:28:14 -05:00
c6e0ca7aac Move README development notes to status 2026-03-23 03:33:11 -05:00