Changelog
Versioned release history. Each release groups changes under Added, Changed, Fixed, Security. Dates in UTC.
2026-04-27. Phase H "Org Chat Pro Team"
Added
- ADR-013. Provider-agnostic tool-calling via
LLMToolCapableProvider. 4 canonical tools:run_soql,lookup_metadata,object_relationships,inventory_search. - ADR-014. INV-1 on-demand introspection (
FMOrgIntrospector+ 6 collectors) and INV-2 nightly inventory harvest. - ADR-015. REL-2 SOQL child-subquery acceptance + tool-call badge UI + custom-permission-gated discovery nudges.
- ADR-016. Phase H roadmap closeout.
FM_Org_Inventory_Snapshot__ccustom object (9 fields).FlowMason_Org_Chat_Inventory_Adminpermset.FlowMason_Org_Chat_Discoverycustom permission.- MDT keys:
orgChatToolCallingEnabled,orgChatToolCallingMaxCalls,orgChatToolCallingTimeoutMs,orgChatManifestEnabled,orgChatManifestMaxKb,orgChatManifestIncludeFormulas,orgChatInventoryCron. - Per-provider tool-calling support: Anthropic, OpenAI, Azure OpenAI, Bedrock, Ollama.
- Org Chat UI v2: inverted layout, density modifier, stage rotator, tool-call badge, confidence dot, manifest pill.
- REL-1 schema relationship-aware prompts.
- REL-3 decomposer planner enrichment.
Changed
FmOrgChatController.sendMessageFromSurfacegained a 6-arg overload. Older overloads chain to it.FMSoqlValidatorsplicer rewritten clause-aware to fix the LIMIT-swallowing bug.FMOrgInventoryHarvesterexecute method refactored from chained Queueables to single-execute walking all 5 component types (chained version hit the 5-deep dev-org Queueable cap).
Fixed
"missing value at 'LIMIT'"SOQL splicer bug."sObject type 'FlowDefinitionView' is not supported". FlowDefinitionView + PermissionSet now route through standardDatabase.queryunderSYSTEM_MODE.MIXED_DML_OPERATIONin INV-2 tests viaSystem.runAs()isolation.
Security
- DML tool deliberately not exposed; assistant has read-only powers.
- Tool-calling preserves
FMSoqlValidatortrust boundary on everyrun_soqlcall. - Discovery nudges gated by custom permission (recon-vector mitigation).
- Same Named Credentials, same providers, same metadata posture as pre-Phase-H. No new egress paths.
2026-04-26. Phase G "Listing Blockers"
- Added. ADR-009 Org Chat surface strategy. One Apex facade × seven surfaces. Custom Labels for i18n (16 strings). WebhookWaiterAsync plugin. DML two-step Phase G INSERT support (ADR-006).
with sharingaudit (88 classes). Logging audit (63System.debug→FMLog). A11y forfmOrgChatDmlModal. Pipeline\__c → MDT migration. - Changed.
enableVerboseDebugLogsnow gates allFMLog.info / debug(default false). - Removed. Orphaned
FlowMasonComponentRegistryAPI+FlowMasonStudioAPI. - Security. CSP + remote-sites audit (ADR-008). LWC XSS audit.
2026-04-19. Phase F "DML & Security"
- Added. ADR-005 Org Chat DML two-step. DML audit trail (immutable). Per-user DML rate limit.
- Security. DML triple-default fail-closed: org switch + per-object + permset.
Earlier. Phases A through E.1
| Date | Phase | Highlights |
|---|---|---|
| 2026-04-15 | E.1 + WK3 | FMRunSubscriberHandler materialiser, telemetry dashboard. |
| 2026-04-12 | E "Async Runtime" | ADR-007 async runtime fold. ExecutionState.asyncTokens additive-optional. |
| 2026-04-09 | D "Org Chat Hardening" | ADR-002 / ADR-004 Org Chat foundation, author-then-validate. 27+ refusal tests + fuzz cohort. |
| 2026-04-05 | C "Buffered Circuit" | FM_Circuit_Queue__c, FMCircuitDrainerQueueable, dead-letter event. |
| 2026-04-02 | B "FLS Prompt Guard" | FMPromptGuard field-level scrubbing. |
| 2026-03-30 | A "Value-Pattern Redaction" | FMRedactor value-pattern catalog. |
Versioning policy
FlowMason follows SemVer:
- Major. Incompatible API change (rare; ships with migration runbook).
- Minor. Additive functionality (new component, new MDT key, new ADR).
- Patch. Bug fix, no behavioural change.
ExecutionState.schemaVersion bumps independently and only on incompatible state-shape changes (currently = 1).