Commit Graph
6 Commits
Author SHA1 Message Date
shad bfac76dcde fix(oracle-r4): honest agent framing + 3 new QA gates
Oracle round-7 items 1, 4, 6:
- Agent welcome + sidebar copy clearly say 'deterministic command
  router' with 'EA2-backed text memory' (keyword recall). LLM adapter
  described as 'separate component, off by default'. No more 'natural
  language LLM on the roadmap' overclaim.
- 3 new full_dogfood gates:
  * memory_vault_remember_acks (proves vault write)
  * memory_vault_recall_returns_match (proves vault read by content)
  * llm_unconfigured_falls_back_gracefully (proves agent never crashes
    when LLM proxy isn't wired - the current state)
  * chat_sidebar_shows_previews_and_timestamps (proves chat polish
    elements render)
2026-06-14 15:09:12 +04:00
shad 810d011b80 test(qa): assistant_shows_at_least_five_tools (was exactly five)
Assistant grew remember + recall tools this loop (7 total). The previous
exact-count assertion is now an at-least check so future tool additions
don't break QA.
2026-06-14 15:02:53 +04:00
shad e70944b6fa fix(curation): explicit STARTABLE_FLOW_KEYS allowlist
Previous attempt blacklisted unstartable backfill source_contexts but
swept all real published flows out too. Inverted to a positive
allowlist: only flows whose _key is in STARTABLE_FLOW_KEYS reach the
Hubs / Assistant.

Today the canonical pr_to_po_def is the only runtime-startable flow in
the tenant. New entries are added by hand once we've verified a flow
actually starts via /api/runtime/transactions. Cleaner than chasing
source_context strings.
2026-06-14 14:23:19 +04:00
shad 42884667f6 fix(curation): exclude seed-process + chat-inbox + attendance contexts + startability QA
Oracle round-6 watch-out: 'Employee Onboarding' (a CANVAS_SEED_PROCESS
wizard-incomplete draft) was reaching the Assistant list because its
display_name passed the dev-artefact regex. EA2 runtime then returned
500 transaction_creation_failed because it lacked view/data attachments.

- flowCuration.NON_BUSINESS_SOURCE_CONTEXTS now drops CANVAS_SEED_PROCESS,
  CANVAS_SEED_STEP, CANVAS_CHAT_INBOX, CANVAS_ATTENDANCE_ROOT,
  CANVAS_ATTENDANCE_SITE - all internal canvas source_contexts.
- qa/full_dogfood.mjs new assertion 'assistant_list_processes_all_startable'
  posts each Assistant-listed flow to /api/runtime/transactions and
  asserts non-4xx/5xx response.
2026-06-14 14:13:44 +04:00
shad 665dcf488e feat(hubs): match dev.flow-master.ai workbench pattern + 4 named workflows
Inspected dev.flow-master.ai/dashboard/hubs/{procurement,hr,it} via real
dev-login. Real hub structure is: Workbench title + Workflow Commands
(4 named buttons) + Queue (left) + Selected Work (right).

- Procurement: New purchase request / Vendor approval / PO change-cancel / Three-way match
- HR: Employee onboarding / Off-boarding / Sick leave / Payroll management
- IT: Access request / Equipment request / Service ticket / User off-boarding

Hub.tsx rewritten: header + Workflow Commands grid + queue/selected
split pane that matches dev's 'Queue' + 'Selected work' layout.

Oracle gap #3 (hubs not feature parity) — partial close. Approvals queue
and document browser still outstanding but the workbench shape now
mirrors dev.
2026-06-14 13:19:49 +04:00
shad 7ceb5c05bb test(qa): full_dogfood end-to-end gate — 19/19 PASS on canvas.flow-master.ai
build-and-publish / test (push) Has been cancelled
build-and-publish / image (push) Has been cancelled
Single QA script (qa/full_dogfood.mjs) drives the live URL like a real
operator and asserts all of Round 2:

  auth_guard_unauthed_redirects_to_login
  login_shows_three_personas
  login_has_microsoft_sso_button
  ceo_persona_dev_login_lands_on_landing
  landing_exposes_all_hubs_and_extras (7/7)
  explainer_renders_eight_cards
  geo_attendance_renders_tiles + 8 markers
  pi_agent_shows_five_tools
  pi_agent_list_processes_returns_real_ea2_data
  procurement_hub_lists_real_flows
  chat_scene_loads_with_thread_sidebar
  theme_toggle_flips_theme
  security_header_* x6 (HSTS, X-Frame-Options, X-CTO, Referrer-Policy,
    CSP, Permissions-Policy)

Exits non-zero on failure so the script is CI-grade.
2026-06-14 12:56:43 +04:00