Skip to content

Add governed Frappe AI operating surface - #92

Merged
Dkm0315 merged 28 commits into
mainfrom
feature/enterprise-customer-control-plane
Aug 9, 2026
Merged

Add governed Frappe AI operating surface#92
Dkm0315 merged 28 commits into
mainfrom
feature/enterprise-customer-control-plane

Conversation

@Dkm0315

@Dkm0315 Dkm0315 commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add the installable Muster Frappe app with governed Ask, attended CRUD, workflow proposals, missions, approvals, evidence, and native Desk/SPA surfaces
  • add permission-aware Frappe read/write services, OAuth/channel identity linking, OxygenHR profiles, Telegram/GChat workflows, and management controls
  • add the Jenkins capability pack, workflow graph/runtime primitives, durable gateway runs, provider continuity, and interactive CLI setup
  • add deterministic Frappe UI, evidence, provisioning, security, and live-training test infrastructure
  • exclude generated recordings, browser state, caches, and local execution artifacts from source control

Validation

  • pnpm typecheck
  • pnpm test
  • python3 -m compileall -q frappe_app/muster
  • node --test frappe_app/tests_js/*.test.cjs (107 passed)
  • pnpm test:evidence (29 passed)
  • live Frappe-2 Buying workflow evidence through Purchase Invoice

Notes

This is a pre-1.0 integration release. Governed writes remain attended and approval-bound; evidence paths fail closed when live verification is unavailable.

try {
const result = work();
this.#db.exec("COMMIT;");
active = false;
try { await waitForSavedRecord(receipt.doctype, recordName); } catch (_barrierError) { /* verified below */ }
let verified = null;
const verificationStarted = Date.now();
while (!verified && Date.now() - verificationStarted < 5_000) {
active = false;
return result;
} catch (error) {
if (active) {
@Dkm0315
Dkm0315 merged commit 9fa58d6 into main Aug 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant