Skip to content

Standardize timestamps to ISO 8601 UTC across all logs and decisions #84

Closed

Description

@bradygaster

Problem

User feedback: "please make sure we're stamping decisions and things logged to disk with date-time stamps not just the date. and they should prolly be utc dates. something that works everywhere as much as possible."

Current state is inconsistent:

  • Orchestration logs: Use ISO 8601 datetime format 2026-02-08T0412 (UTC, filenames)
  • Session logs: Use date-only format 2026-02-08-{topic}.md (filenames)
  • Decisions.md headers: Use date-only format ### 2026-02-07: Team formation
  • Index.js timestamps: Mix of formats:
    • new Date().toISOString() for casting registry (full ISO 8601 with timezone)
    • .toISOString().split('T')[0] for import date (date-only)
    • .toISOString().replace(/[:.]/g, '-').replace('T', '-').slice(0, 19) for archive folders

Proposal

Standardize on ISO 8601 UTC timestamps everywhere:

  • Format: YYYY-MM-DDTHH:MM:SSZ (e.g., 2026-02-16T18:45:23Z)
  • Use new Date().toISOString() consistently across all Squad code
  • Human-readable, sorts correctly, unambiguous timezone (always UTC)
  • Works everywhere (cross-platform, cross-locale)

Changes Needed

  1. Decision headers:

    • Change from: ### 2026-02-07: Team formation
    • Change to: ### 2026-02-07T19:32:15Z: Team formation
    • Or create a new section: **Date:** 2026-02-07T19:32:15Z below header
  2. Session log filenames:

    • Change from: .ai-team/log/2026-02-08-{topic}.md
    • Change to: .ai-team/log/2026-02-08T0512-{topic}.md (matches orchestration log pattern)
    • This makes chronological order unambiguous when multiple sessions happen same day
  3. Scribe spawn template:

    • Update template at line 785: 1. Log this session to .ai-team/log/{timestamp}-{topic}.md:
    • Change {YYYY-MM-DD} placeholders to {timestamp} (ISO 8601)
    • Update ceremony log pattern at line 963 similarly
  4. Decision inbox filenames:

    • Change from: .ai-team/decisions/inbox/copilot-directive-{timestamp}.md
    • Verify {timestamp} expands to full ISO 8601 (not date-only)
  5. Templates:

    • templates/history.md line 6: - **Created:** {date} → use full timestamp
    • templates/roster.md line 60: - **Created:** {date} → use full timestamp
    • templates/scribe-charter.md references to {date} → use {timestamp}

Why This Matters

  • Debugging: Full timestamps let us reconstruct exact session sequences when troubleshooting
  • Distributed teams: UTC removes timezone ambiguity (no "was that 3pm EST or PST?")
  • Automation: ISO 8601 is the universal standard for logs, APIs, and tooling
  • Sorting: Lexicographic filename sort = chronological order
  • Audit trail: Important for compliance, security reviews, and incident response

Acceptance Criteria

  • All decision headers include full UTC timestamp
  • All log filenames use ISO 8601 datetime format
  • squad.agent.md spawn templates use {timestamp} placeholder (ISO 8601)
  • Templates updated to use full timestamp instead of date-only
  • Test coverage for timestamp format consistency
  • Migration plan for existing repos with date-only logs (or accept both)

Non-Goals (Keep Date-Only)

  • Git commit messages can stay date-only (e.g., feat(docs): ...) — that's a Git convention
  • Release tags can stay semantic version + date (e.g., v0.4.1-2026-02-16)

Activity

  1. added this to the v0.5.0 milestone on Feb 16, 2026
  2. added a commit that references this issue on Mar 26, 2026
  3. added a commit that references this issue on Mar 31, 2026
    5c83204
  4. diberry commented on Mar 31, 2026

    @diberry
    Contributor

    🔄 Ralph status update: PR #725 has team review, CI green except changelog-gate. Labeled \squad:pr-reviewed. Awaiting Dina review.

  5. added 2 commits that reference this issue on Mar 31, 2026
    41998da
    9797545
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    release:v0.5.0Targeted for v0.5.0type:choreMaintenance, refactoring, cleanup

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions