Updates
Platform Updates
Public-facing release notes for meaningful changes across Furries PH operational systems.
First created Last updated
Release Notes
Regosite Local Sign-in Session Alignment
Repositories: rego.furries.ph
Status: Validated locally
What’s Changed
- Aligned local Regosite sign-in, refresh, and protected attendee requests to the same local API target.
- Removed the local-development state where a completed sign-in could be shown briefly before a protected request treated the session as absent.
Impact
Attendees and developers using the local registration site should remain signed in after authentication instead of bouncing between signed-in and signed-out states.
Upgrade Notes
- Restart the local Regosite dev server if it was already running, then sign in again.
Cross-System Operations Linkage Local Implementation
Repositories: partners.furries.ph, partners-api, fph-lan-ems, docs.furries.ph
Status: Local Implementation Complete - Release Gates Pending
What’s Changed
- Completed the local partner-scoped Linked Operations implementation for reviewed typed links, effective-dated shared parties/places/accounting dimensions and Finance policies with custom axes, EMS-to-FinManage annotation approval/reconciliation, EPS procurement, Finance goods-receipt intake, AssetManage-to-FinManage journal posting and receipts, logistics/maintenance/damage/agreement/consumable cost handoffs, reviewed event-asset substitutions, search, timelines, structured telemetry, measured double-entry reduction, and an actionable exception queue.
- Added the private
/operations-linkage/metrics,/coverage,/procurement,/intakes,/finance/cost-handoffs,/finance/dimension-policies,/finance/ems-reconciliation, deployment-substitution reads/actions, and typed exception retry/fix preview route families alongside Finance postings/receipts, shared-identity maker-checker actions, and permission-trimmed search/timeline reads. - Finalized the dashboard/Worker contract: procurement sends
planningProjectId,objective,unitOfMeasure, andestimatedAmount; asset intake selects one FinancegoodsReceiptLineId; cost handoff sendshandoffTypeandamount; and the dashboard reads siblingitem.procurementanditem.financeRecord,item.intake.status, anditem.handoff.*fields instead of obsolete generic response shapes. - Converted every current cross-system mutation family to an atomic database command that commits mutable domain state and its immutable action receipt together. Shared party/place transitions use explicit maker-checker enforcement through
partner_cross_system_transition_identity. - Finalized the governed linkage and correction contracts: typed allowlisted endpoints retain immutable source/target snapshots, target disposition, owner versions/digests, and verification time; EPS reads live Finance procurement projections and can cancel unsettled work with readiness rollback; intake corrections name the immutable prior event and return the Finance goods-receipt header; AssetManage batch reversals retain original/replacement link lineage; and EMS annotation approval binds an independent reviewer, Finance policy version, current digest, and per-payment-account reconciliation.
- Added bounded typed queue retries with preview and structured healed/no-op receipts. Added agreement/rental and consumable-movement cost allocation without treating durable asset movement as consumable use.
- Bound each typed exception fix operation and sanitized target/action payload immutably at exception creation. Operators preview the bound action, then submit only the exception version, reason, and idempotency key; the exact owner-system mutation, immutable
fixedevent, exception resolution, and receipt commit together. A changed fix requires a new exception. - Allowed Finance policies to require up to eight unique governed custom dimension-axis slugs. Each submitted axis key must match an active/effective same-partner dimension’s exact
dimensionType, and the value remains its UUID rather than a copied free-text code. - Added
LinkedWorkPanelcontext to EMS event, EPS planning, FinManage, and AssetManage layouts so operators can see the named owner, relationship, lifecycle/version, and owner deep link without re-entering the record. - Added measured generated records, unmatched lifecycle work, duplicate candidates, AssetManage batch acceptance, and deployment-return reconciliation with permission trimming and an explicit cutoff. Estimated fields not retyped use the current source proxy of 7 per procurement request, 12 per asset intake, and 5 per cost handoff; this is not observed manual effort or financial savings.
- Added optional EMS LAN event snapshot support for AssetManage durable-asset deployments, approved scan aliases, shared event places, and FinManage record references.
- Added offline receive, stage, issue, custody handoff, move, return, missing, and damage commands through the existing generic LAN-sync route. The signed envelope carries full place, custodian, condition, occurrence, device, evidence, quantity, version/digest, and correction lineage; exact lost-ack replay returns
already_applied, stores one immutable local receipt, and does not repeat the AssetManage effect. - Added an Admin and Workspace Event Assets surface with keyboard-wedge scanning, explicit container-member confirmation, shipment ETA, custody and condition readbacks, pending-command correction controls, conflict resolution, close reconciliation, and safe FinManage deep links and warnings.
- Hardened deployment exception approval:
approve_exceptionrequires a non-final exception in the same partner and deployment, enforces the same deployment item when one is named, rejects the exception maker’s self-approval, requires non-empty opaque evidence, and atomically records the approved exception, immutableexception_approvedevent, and deployment receipt. The deployment dialog now exposes Exception ID and Evidence artifact ID, while inactive tabs remain hidden. - Added governed deployment substitution. A proposal names one different same-partner asset, model, or container and does not change the manifest; a different AssetManage administrator reviews the pending proposal with current proposal/deployment versions. Approval atomically applies the canonical replacement and receipt, while rejection preserves the original item.
- Kept durable assets separate from EMS inclusion/add-on inventory and kept finance references separate from EMS accounting facts to prevent double counting.
Impact
Operators can create or link procurement, intake, cost, journal, shared-identity, deployment, and exception work through one governed local contract while each system retains its authority. Embedded linked-work panels and measured-reduction indicators make reused records and unmatched work visible. Event logistics and asset operators can continue deployment scans during WAN loss, then reconcile them with AssetManage without changing EMS sellable or entitlement stock.
Upgrade Notes
- Existing snapshots without
assetDeploymentremain compatible. Deploy the reviewed additive migrations first, then the backward-compatible API, dashboard, and EMS LAN package; do not enable dependent clients before their server contracts are available. - Local validation passed the dashboard disposable-database/source certificate, including final custom-axis identity/policy, procurement/cancellation, EMS reconciliation, correction-lineage, retry/fix, reviewed substitution, LAN, telemetry, first-party GL, and governed deployment-exception contracts; 558 API contracts plus TypeScript; the EMS LAN 65/65 TASK026 certificate and 26/26 cross-system regression; and 37/37 focused documentation checks after the zero-diagnostic static build, including rendered guide, links, search, sitemap, and diagrams.
- The database migrations, API routes, dashboard, and LAN package are not deployed by this update. Hosted multi-role authentication, real production/provider data, physical devices and venue LAN, an authorized canary, deployed rollback/restore, production reconciliation, and Event Operations, Asset, Finance, security, and independent operator sign-off remain release gates.
CMS Launch No Longer Requires MFA
Repositories: partners-api, partners.furries.ph
Status: Validated locally
What’s Changed
- Removed the fresh-MFA requirement from the CMS launch handoff.
- Routed the dashboard’s CMS card through that same authenticated handoff instead of opening the CMS directly.
- Kept dashboard authentication, active-partner selection, exact CMS permissions, active-partner status, short-lived scoped credentials, audit logging, and handoff encryption in place.
- Kept MFA required for administrative CMS credential provisioning, rotation, and revocation.
Impact
Authorized dashboard users can open the CMS without completing a separate MFA challenge at launch. Users without dashboard authentication or their partner’s CMS permission remain unable to access it.
Upgrade Notes
- No user action is required. Sign in to the dashboard, select the relevant organization, and choose Content Management.