The 2026-07-18 storage migration reset every row's system Timestamp, exposing that AuditLogs, OpsEvents and Events displayed, filtered and retention-swept on it (custom "Timestamp" writes were silent no-ops — reserved system property). All migrated rows read as 2026-07-18. - New Helpers/BusinessTimestamp: RowKey decoders (audit !revtick_guid, ops bare revtick, event yyyyMMddHHmmssfff_seq), RowKey-range OData clause builders (tick-exact, with the mandatory RowKey lt '"' guard so no lower bound can ever match legacy bare-GUID audit rows), and dual DateTimeOffset/DateTime column reads. - Writes in all three tables now persist OccurredUtc (custom column, copied verbatim by future migrations); no-op ["Timestamp"] removed. - Read mappers resolve OccurredUtc -> RowKey decode -> system Timestamp; GetEarliestSessionEventTimestampAsync uses the same resolution so StartedAt/Duration reconciliation can no longer absorb the migration date on migrated sessions. - Date-window filters and retention moved off the system Timestamp onto RowKey ranges; ops retention loses its full-table scan and the post-migration mass-delete cliff; audit retention runs a temporary second pass for legacy GUID rows (TODO: remove after 2027-03-01). - New GlobalAdmin backfill endpoint POST /api/maintenance/ backfill-occurred-utc (dry-run by default, batched, idempotent MERGE of only OccurredUtc, table=audit|ops) — Events rows are deliberately never mutated; their read path decodes the RowKey instead. - Tests: decoders, clause boundary proofs incl. GUID-safety pins, mapper precedence, backfill row decisions (Functions.Tests 3078). - Docs: docs/backend/business-timestamps.md (system Timestamp is never authoritative; migration checklist rule). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3.5 KiB
Log
2026-07-20
- Creation: Added
backend/business-timestamps.md(newbackend/section) — the 2026-07-18 migration reset every row's system Timestamp, exposing that AuditLogs/OpsEvents/Events had (unknowingly) displayed and filtered on it all along; documents theOccurredUtccolumn, the RowKey decoders and RowKey-range date/retention clauses inBusinessTimestamp, the GUID-guard trap, the audit/ops backfill endpoint, and the "system Timestamp is never authoritative" migration rule. - Creation: Added
rules/gather-rule-phase-scoping.md(newrules/section) — gather rules gainactivePhases(run only during listed phases),activeFromPhase(sticky latch from a phase onwards, never via Failed) andemitMode: "on_change"(canonical-hash result dedup withsuppressedPollsobservability), ConfigVersion 34. Includes the prerequisite backend fix: the custom-rule toggle PUT no longer wipes the stored rule definition (partial-merge inGatherRuleService.UpdateRuleAsync).
2026-07-18
- Creation: Added
agent/endpoint-migration.md— config-channel agent re-home (MigrateToApiBaseUrlonGET agent/config, ConfigVersion 33): backend or per-tenant API-URL moves without DNS indirection (impossible due to mTLS/Flex-TLS). Live-fetch-only with cache strip,AgentEndpointMigrationRulesallowlist validated on both sides, one hop, kill-switch wins. Built as the lesson from the 2026-07-18 WEU→GWC cutover, which hard-cut all in-flight agents.
2026-07-17
- Creation: Added
agent/build-counter-blob.md— agent build numbers now come from a shared public counter blob (buildcounter-v{N}.txt, reserve-before-build with ETag-CAS) so localbuild.ps1and CIbuild-agent.ymlbuilds can never mint the same number. Documents the CI parity fixes (SummaryDialog.exe.config in the ZIP, EXE-vs-manifest version check, hash-oracle update gated on stable cutover) and the Sigstore provenance attestation on CI-built ZIPs.
2026-07-16
- Creation: Added
agent/autopilot-ztd-diagnostics.md— reference for Windows' own ZTD diagnostic surfaces (ModernDeployment Autopilot event IDs incl. 807/809/815/908, theDiagnostics\Autopilotregistry key, deployment-service endpoints, known-issue error-code map with KB fixes). Backs the agent'sZtdEvidencecollector (ztdVerdictonautopilot_profile_missing) and the backend known-issue rules; sources carry a re-check RSS feed.
2026-07-13
-
Removal: Moved
customer-graph-add-on-permissions.mdout of this contributor bundle into the customer documentation repository (reference/optional-graph-permissions.md). It was customer-facing product content and did not belong in the tech-docs bundle; removed the entry fromindex.md. -
Creation: Added
agent/hello-wizard-unskip.md— session 772fe502 fix: theHelloWizardStarteddecision signal (prevention veto + un-skip cure for the policy-disabled Hello shortcut) and the HelloTracker confirmation second read against flip-flopping WHfB CSP values.
2026-07-11
-
Creation: Added the
agent/section — three concept documents on the V2 agent:agent/overview.md(runtime, collectors, telemetry pipeline),agent/decision-engine.md(DecisionCore reducer, signals, A/B/C completion arms, invariants),agent/logs-and-persistence.md(persisted artifacts, signal log vs spool, recovery/replay flow) plusagent/index.md. -
Creation: Converted
docs/into an OKF v0.1 knowledge bundle — added YAML frontmatter toarchitecture.md,mcp-oauth-flow.md, andcustomer-graph-add-on-permissions.md; createdindex.mdand this log.