201 Commits

Author SHA1 Message Date
b2ad719252
Merge pull request #47 from mrteye/feat-ui-sessions-layout-drawer-machine-plan-6316789782106551879
feat(ui): generate task plan for sessions layout and drawer machine
2026-08-26 15:04:05 -07:00
google-labs-jules[bot]
5c1be5657e feat(ui): generate task plan for sessions layout and drawer machine
Generates a planning task file in `tasks/new/` detailing the architecture, requirements, and steps for Phase 3 of the Event & Session Overhaul, specifically addressing the page hierarchy, the 2-state drawer machine, and layout bugs.

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-26 22:01:09 +00:00
e9060eee5a fix(test): mock auditWrapper across tests and add assertions for session events 2026-08-26 12:31:38 -07:00
695d44e16e chore(tasks): close out ui decomposition roadmap
- All three phases (Layout, Admin Drawers, WebAuthn deduplication) are now completed
2026-08-26 12:07:15 -07:00
09c2b5d7a7 docs(protocol): strip redundant pre-review summary gate from agent instructions 2026-08-26 12:04:49 -07:00
58d8e54ae5 fix(ui): wire AdminRolesScript and clean unused imports
- Replace inline script in AdminRolesPage with extracted AdminRolesScript component
- Remove unused JSX import aliases and format AdminUserDetailsPage
2026-08-26 11:43:52 -07:00
fa2778d4fe
Merge pull request #44 from mrteye/ui-admin-decomposition-10975413065274099261
feat(ui): decompose Admin UI with separate Drawers and Scripts

Completes the phase 2 of the UI decomposition roadmap for the Admin pages by extracting the drawer components and client-side SSR JSX scripts into modular files.

- Extracted forms (`AppDrawer`, `InviteDrawer`, `RoleEditorDrawer`, `GrantDrawer`) to `ui/components/admin/drawers/`.
- Extracted scripts (`AdminAppsScript`, `AdminInvitesScript`, `AdminRolesScript`, `AdminUserDetailsScript`) to `ui/components/admin/`.
- Updated `AdminAppsPage.tsx`, `AdminInvitesPage.tsx`, `AdminRolesPage.tsx`, and `AdminUserDetailsPage.tsx` to use the components.
2026-08-26 11:38:00 -07:00
google-labs-jules[bot]
65f59521c0 feat(ui): decompose Admin UI with separate Drawers and Scripts
Phase 2 Admin Drawers & Scripts execution:
- Extract `AppDrawer`, `InviteDrawer`, `RoleEditorDrawer`, and `GrantDrawer`.
- Extract `AdminAppsScript`, `AdminInvitesScript`, `AdminRolesScript`, and `AdminUserDetailsScript`.
- Hook extracted components into their respective pages.
- Format `AdminRolesPage.tsx` and all modified files using `deno fmt`.

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-26 18:37:15 +00:00
42b336173e docs(protocol): enshrine black-box delegation and pre-review summary gate
- Add Section 3.5 to AGENTS.md for agent orchestration and tool autonomy
- Add Section E to tasks/GUIDELINES.md with pre-review summary gate
- Update tasks/do.md dispatch template with DRY positive acceptance criteria
- Align task lifecycle state machine to keep in-flight work in tasks/new/
2026-08-26 10:37:22 -07:00
9e2cd81e4d
Merge pull request #43 from mrteye/ui-webauthn-refactor-8252947523855268978
Refactor WebAuthn UI Components & Deduplicate Bip39 Assets

Phase 3 of the UI decomposition task. I successfully decomposed the WebAuthn client scripts out of the main page components (`PasskeysPage.tsx` and `RegisterPage.tsx`), and I also deduplicated the wordlist asset by removing the duplicate copy under `ui/public/ui/utils/` and pointing all imports to the correct location.
2026-08-25 23:55:02 -07:00
google-labs-jules[bot]
afaecdaa26 Extract WebAuthn Components & Deduplicate Assets
- Extracted `PasskeyTable` and `WebAuthnScript` into `ui/components/auth/`.
- Refactored `PasskeysPage.tsx` and `RegisterPage.tsx` to use the new components instead of inline scripts and HTML.
- Deleted the duplicate `ui/public/ui/utils/bip39_wordlist.ts` and `ui/public/ui/utils/bip39.ts`.
- Updated all import references to use `ui/utils/bip39_wordlist.ts` and `/public/utils/bip39.ts`.

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-26 06:54:29 +00:00
f5935a49a7 docs(tasks): move ui decomposition ph1 to complete and format subcomponents 2026-08-25 23:39:39 -07:00
eb15c9003f
Merge pull request #42 from mrteye/feat-ui-decomposition-phase1-13025745089234711919
Refactor Phase 1: Sessions & Layout Extraction
2026-08-25 23:38:37 -07:00
google-labs-jules[bot]
c8cf9c7df7 refactor(ui): extract layout and sessions subcomponents
Extract Navbar, MobileNav, and UserMenu from AuthenticatedLayout.tsx.
Extract SessionTable, SessionDeck, and SessionsScript from SessionsPage.tsx.
Preserves existing pure Hono SSR JSX and logic.

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-26 06:38:22 +00:00
dc2b5488c8 docs(tasks): establish discrete phase task files ph1 through ph3 for ui decomposition roadmap 2026-08-25 22:48:17 -07:00
f40a731ab4
Merge pull request #41 from mrteye/arch-ui-decomposition-roadmap-6487485348399467971
chore(arch): Add UI Decomposition Roadmap task file
2026-08-25 22:47:23 -07:00
google-labs-jules[bot]
0249938459 chore: Create UI Component Decomposition Roadmap task spec
Creates `tasks/new/2026-0825.01.jul.story.arch.ui-decomposition-roadmap-2300.md` containing the architectural analysis and phased execution plan for modularizing `ui/` monoliths into pure SSR JSX components while maintaining testability.

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-26 05:46:56 +00:00
97edc7b89b docs(tasks): mark entire monolith decomposition roadmap epic complete 2026-08-25 22:33:00 -07:00
6f18b156ff
Merge pull request #40 from mrteye/monolith-decomposition-phase-6-6381472741741732772
Refactor: Decompose `server/auth-session.ts` and `ui/mod.ts` (Phase 6)

server/auth-session.ts: Kept as the clean barrel/middleware export for zero-trust scope guards and permission middlewares (requireAdmin, requireScope, hasScope, isSessionAdmin). Re-exported definitions from server/forward_auth.ts and server/session_resolver.ts.
server/forward_auth.ts (new): Extracted Traefik ForwardAuth header parsing, dynamic bypass evaluation (is_public, bypass_paths), and upstream identity injection.
server/session_resolver.ts (new): Extracted multi-cookie iteration, Valkey L1/L2 cache resolution, and PostgreSQL fallback queries.
ui/auth_checks.ts (new): Extracted admin authorization and session verification middleware.
ui/db_queries.ts (new): Extracted raw SQL queries for loading apps, roles, grants, invites, and audit logs.
ui/mod.ts: Refactored to import from ui/db_queries.ts and ui/auth_checks.ts, leaving it purely as the SSR page router mounting the UI view components.
All pre-commit checks (deno fmt, deno task lint, deno task check, deno test --allow-all) ran and passed successfully. No new failures were introduced.
2026-08-25 22:32:07 -07:00
google-labs-jules[bot]
99bb8d794f Refactor server/auth-session.ts and ui/mod.ts to decouple domain utilities, database queries, and admin authorization checks into separate files (server/forward_auth.ts, server/session_resolver.ts, ui/db_queries.ts, ui/auth_checks.ts).
Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-26 05:31:25 +00:00
f2310503f4
Merge pull request #39 from mrteye/jul-test-monolith-decomposition-4462541866791287539
refactor: Decompose main.test.ts into modular domain test files
2026-08-25 22:12:21 -07:00
google-labs-jules[bot]
0d59c2ac75 refactor(test): decompose main.test.ts into domain specific test files
Extracted the 1,577-line monolithic `server/main.test.ts` into five isolated, domain-specific files under `server/tests/`:
- `forward_auth.test.ts`: ForwardAuth bypass, cookie scoping, and sandbox.
- `rpc.test.ts`: ConnectRPC SPIFFE and RBAC tests.
- `auth.test.ts`: Audit ledger, WebAuthn PRF, passkey magic links.
- `events.test.ts`: Multi-claim join endpoints and killswitch.
- `scopes.test.ts`: Zero-trust guards and self-revocations.

Successfully maintained all tests cleanly isolated via standard mocking and deleted `main.test.ts` after migrating and executing `deno test --allow-all` with zero failures.

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-26 05:12:08 +00:00
e0c12bdef6 docs(tasks): move ph3.1 task spec to complete 2026-08-25 21:39:32 -07:00
9c98e2f2fb
Merge pull request #38 from mrteye/ph41-cli-modularization-791781679227126134
Phase 4.1 CLI Setup Modularization
2026-08-25 21:38:14 -07:00
7f467f86d9
Merge pull request #37 from mrteye/feature-phase-3.1-route-decomposition-390275356595329142
feat(routes): domain route modularization (Phase 3.1)
2026-08-25 21:38:06 -07:00
google-labs-jules[bot]
752bfcf03e Refactor infra/setup/cli.ts into smaller command and prompt modules
Decomposes the monolith `infra/setup/cli.ts` into clean `infra/setup/prompts/` and `infra/setup/commands/` directories while adhering to Cliffy idiomatic modularity. Validated via `deno check`, tests, and format.

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-26 04:37:41 +00:00
google-labs-jules[bot]
589e146ecc feat(routes): decompose admin and auth monolith routes
Extracted domain-specific sub-routers from monolithic `server/routes/admin.ts` and `server/routes/auth.ts` into isolated modules within `server/routes/admin/` and `server/routes/auth/` respectively. The original entry routers were updated to import and assemble these sub-routers without breaking their current HTTP interface or rate limiting/authorization middleware. Testing and linting were run ensuring perfect functionality and 100% test passing score.

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-26 04:37:26 +00:00
e7a2aa8df3 docs(tasks): establish refined modularization specs ph3.1 and ph4.1 2026-08-25 20:31:09 -07:00
50da203512
Merge pull request #36 from mrteye/feat-arch-monolith-decomposition-ph3-15640425587075303208
feat(arch): Decompose server/main.ts monolith (Phase 3)
2026-08-25 20:23:35 -07:00
google-labs-jules[bot]
88821b80af feat: Phase 3 Monolith decomposition of server/main.ts
- Extracts Auth, Registration, and Passkey routes into `server/routes/auth.ts`.
- Extracts all Admin API endpoints into `server/routes/admin.ts`.
- Extracts RPC Connect setup and mTLS listener into `server/rpc.ts`.
- Extracts global rate limiters and IP helpers into `server/middleware.ts`.
- Reduces `server/main.ts` purely to an entrypoint mounting orchestrator.
- Ensures all existing tests and quality gates pass with zero regressions.

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-26 03:23:20 +00:00
67bbe0d1e9
Merge pull request #34 from mrteye/refactor-infra-setup-modules-16584207009061218557
Refactor: Decompose infra/setup.ts into modular sub-modules
2026-08-25 17:37:44 -07:00
685ea25365
Merge pull request #35 from mrteye/monolith-decomposition-phase-2-5222039191988798562
Phase 2 UI Admin Pages Decomposition
2026-08-25 17:37:34 -07:00
54c98c1e4a chore: clean up temporary python and text scratch files from repo root 2026-08-25 17:37:04 -07:00
google-labs-jules[bot]
4c7d8d4af7 feat(ui): decompose admin pages into reusable AdminTable and AdminModal components
Refactored AdminInvitesPage, AdminUserDetailsPage, AdminRolesPage, and AdminAppsPage to use the new pure Hono SSR JSX stateless components.
Fixed missing import definitions in AdminRolesPage.
Moved task file to complete state.

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-26 00:34:29 +00:00
google-labs-jules[bot]
779f890b2f Refactored the 1,000+ line setup.ts into sub-modules
- Extracted CLI commands into infra/setup/cli.ts
- Extracted docker compose configuration to infra/setup/compose.ts
- Extracted env variable generation to infra/setup/env.ts
- Extracted build commands to infra/setup/build.ts
- Retained infra/setup.ts as a simple entrypoint orchestrator

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-26 00:34:24 +00:00
7df39bd27a docs(tasks): complete phase 1 ui sessions decomposition and format subcomponents 2026-08-25 16:22:32 -07:00
9a90f4493c
Merge pull request #33 from mrteye/phase-1-ui-sessions-decomposition-8623875160406573030
refactor(ui): decompose SessionsPage monolith (Phase 1)
2026-08-25 16:20:12 -07:00
google-labs-jules[bot]
296bc6a9c3 Hi, Jules here! I have successfully refactored the SessionsPage by decomposing it into pure JSX subcomponents. Here is a summary of what I accomplished:
- Created the `ui/components/sessions/` directory.
- Extracted `EventCockpitDeck.tsx`, `DirectPassDrawer.tsx`, `WorkshopDrawer.tsx`, and `ScopeModal.tsx` from `ui/components/SessionsPage.tsx`.
- Refactored `SessionsPage.tsx` to import and assemble these subcomponents cleanly.
- Preserved zero React dependencies, keeping it pure Hono SSR JSX.
- Preserved all inline client-side JavaScript, DOM IDs, and form submission handlers.
- Formatted and linted all code via `deno fmt` and `deno task lint`.
- Verified that all tests are passing.

Let me know if you need any further adjustments!

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-25 23:19:58 +00:00
f912241937 docs(tasks): establish discrete phase task files ph1 through ph6 for monolith decomposition roadmap 2026-08-25 16:17:18 -07:00
5de9bdf18c
Merge pull request #32 from mrteye/ui-redesign-sessions-drawer-17867567827419767189
Redesign the Sessions management page header and drawer
2026-08-25 15:53:32 -07:00
google-labs-jules[bot]
64a9b2cd1d refactor(ui): Redesign and consolidate sessions and passes drawer
- Removed the dual top buttons from SessionsPage.tsx.
- Removed the `#eventDrawer` and wrapped its fields, buttons, and modal under `<form id="eventForm">` inside `#tabWorkshopPass` of `#delegateDrawer`.
- Wrapped the 1:1 Direct pass form fields, buttons, and modal under `<form id="delegateForm">` inside `#tabDirectPass` of `#delegateDrawer`.
- Added a vanilla Javascript tab switching logic for UI interaction without client-side frameworks.
- Removed deprecated `openEventDrawer` and `closeEventDrawer`.
- Replaced the single main button to trigger `openDelegateDrawer`.

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-25 22:53:20 +00:00
aa6b731fcf
Merge pull request #31 from mrteye/sec/zero-trust-scope-guards
sec(auth-api): implement zero-trust scope guards and permission middleware

this was a recovered and broken Jules session
2026-08-25 15:45:24 -07:00
6a5a769203 sec(auth-api): implement zero-trust scope guards and permission middleware 2026-08-25 15:39:54 -07:00
563723c654
Merge pull request #30 from mrteye/jules-universal-agent-framework-14468551201613136790
feat(protocol): add task specification for universal multi-agent framework
2026-08-25 15:26:47 -07:00
google-labs-jules[bot]
e54496b51f feat(protocol): add universal agent framework task specification
Drafts a task specification file `tasks/new/2026-0825.01.jul.story.protocol.universal-agent-framework-1945.md` outlining the extraction of the multi-agent orchestration workflow from Auth-Yes into a clean, reusable, repository-agnostic blueprint. This specification adheres to `tasks/GUIDELINES.md` and covers both a foundational architecture guide and a drop-in scaffolding template bundle.

Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-25 22:26:32 +00:00
f130b97838 docs: add engineering lifecycle and task protocols map to README and AGENTS.md 2026-08-25 12:25:26 -07:00
5c72544eca docs(tasks): establish plan.md, debug.md and streamline path.md master index 2026-08-25 12:20:31 -07:00
d0a1492f6c docs(tasks): establish tasks/do.md execution protocol and link from path.md 2026-08-25 12:08:59 -07:00
36bad05b35
Merge pull request #29 from mrteye/jul-monolith-audit-16234354212497883361
story(arch): draft monolith decomposition roadmap
2026-08-25 11:56:17 -07:00
google-labs-jules[bot]
1353153df2 story(arch): draft monolith decomposition roadmap
Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
2026-08-25 18:56:02 +00:00