net.anisota.chronicle.log.weekly

anisota.net

Documentation

Weekly aggregation of daily records. rkey is YYYY-WNN (ISO week). Updated once per day, finalized when week ends.

main record

Weekly aggregation of daily records. rkey is YYYY-WNN (ISO week). Updated once per day, finalized when week ends.

Record Key any Any valid record key

Properties

createdAt string datetime Required

When the weekly record was first created

expeditionRefs array of string Optional

AT URIs of expedition records that occurred during this week

finalizedAt string datetime Optional

When the weekly record was finalized (end of week)

lowerLogRefs array of string Optional

AT URIs of daily log records included in this week

status string Required

Whether this week is still being updated or has been finalized

Allowed: active, finalized
trends ref #trendData Optional

No description available.

upperLogRefs array of string Optional

AT URIs of containing logs (monthly, yearly) this week belongs to

week string Required

ISO week string in YYYY-WNN format (e.g. 2026-W06)

View raw schema
{
  "key": "any",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "week",
      "aggregates",
      "status",
      "signature",
      "createdAt"
    ],
    "properties": {
      "week": {
        "type": "string",
        "description": "ISO week string in YYYY-WNN format (e.g. 2026-W06)"
      },
      "status": {
        "enum": [
          "active",
          "finalized"
        ],
        "type": "string",
        "description": "Whether this week is still being updated or has been finalized"
      },
      "trends": {
        "ref": "#trendData",
        "type": "ref"
      },
      "patterns": {
        "ref": "#weeklyPatterns",
        "type": "ref"
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "When the weekly record was first created"
      },
      "signature": {
        "ref": "#chronicleSignature",
        "type": "ref"
      },
      "aggregates": {
        "ref": "#weeklyAggregates",
        "type": "ref"
      },
      "finalizedAt": {
        "type": "string",
        "format": "datetime",
        "description": "When the weekly record was finalized (end of week)"
      },
      "lowerLogRefs": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "AT URIs of daily log records included in this week"
      },
      "upperLogRefs": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "AT URIs of containing logs (monthly, yearly) this week belongs to"
      },
      "expeditionRefs": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "AT URIs of expedition records that occurred during this week"
      }
    }
  },
  "description": "Weekly aggregation of daily records. rkey is YYYY-WNN (ISO week). Updated once per day, finalized when week ends."
}
chronicleSignature object

ES256 cryptographic signature proving record authenticity

Properties

alg string Required

Signing algorithm (ES256)

kid string Required

Key identifier for the signing key

nonce string Required

Unique random nonce to prevent replay

sig string Required

Base64-encoded ES256 signature

signedAt string datetime Required

When the record was signed

version integer Required

Signature schema version

View raw schema
{
  "type": "object",
  "required": [
    "sig",
    "alg",
    "kid",
    "signedAt",
    "nonce",
    "version"
  ],
  "properties": {
    "alg": {
      "type": "string",
      "description": "Signing algorithm (ES256)"
    },
    "kid": {
      "type": "string",
      "description": "Key identifier for the signing key"
    },
    "sig": {
      "type": "string",
      "description": "Base64-encoded ES256 signature"
    },
    "nonce": {
      "type": "string",
      "description": "Unique random nonce to prevent replay"
    },
    "version": {
      "type": "integer",
      "description": "Signature schema version"
    },
    "signedAt": {
      "type": "string",
      "format": "datetime",
      "description": "When the record was signed"
    }
  },
  "description": "ES256 cryptographic signature proving record authenticity"
}
trendData object

Week-over-week trend comparisons

Properties

activityChange string Optional

Percentage change in activity compared to previous week

engagementChange string Optional

Percentage change in engagement compared to previous week

xpChange string Optional

Percentage change in XP compared to previous week (e.g. '+12%')

View raw schema
{
  "type": "object",
  "properties": {
    "xpChange": {
      "type": "string",
      "description": "Percentage change in XP compared to previous week (e.g. '+12%')"
    },
    "activityChange": {
      "type": "string",
      "description": "Percentage change in activity compared to previous week"
    },
    "engagementChange": {
      "type": "string",
      "description": "Percentage change in engagement compared to previous week"
    }
  },
  "description": "Week-over-week trend comparisons"
}
weeklyAggregates object

Rolled-up counts from daily records

Properties

daysActive integer Optional

Number of days with activity this week

minimum: 0
likesReceived integer Optional

Total likes received this week

minimum: 0
postsCreated integer Optional

Total posts created this week

minimum: 0
postsRead integer Optional

Total posts read this week

minimum: 0
quotesReceived integer Optional

Total quotes received this week

minimum: 0
repliesReceived integer Optional

Total replies received this week

minimum: 0
repostsReceived integer Optional

Total reposts received this week

minimum: 0
specimensPhotographed integer Optional

New specimens photographed this week

minimum: 0
totalXPGained integer Optional

Total XP gained this week

minimum: 0
View raw schema
{
  "type": "object",
  "properties": {
    "postsRead": {
      "type": "integer",
      "minimum": 0,
      "description": "Total posts read this week"
    },
    "daysActive": {
      "type": "integer",
      "minimum": 0,
      "description": "Number of days with activity this week"
    },
    "postsCreated": {
      "type": "integer",
      "minimum": 0,
      "description": "Total posts created this week"
    },
    "likesReceived": {
      "type": "integer",
      "minimum": 0,
      "description": "Total likes received this week"
    },
    "totalXPGained": {
      "type": "integer",
      "minimum": 0,
      "description": "Total XP gained this week"
    },
    "quotesReceived": {
      "type": "integer",
      "minimum": 0,
      "description": "Total quotes received this week"
    },
    "repliesReceived": {
      "type": "integer",
      "minimum": 0,
      "description": "Total replies received this week"
    },
    "repostsReceived": {
      "type": "integer",
      "minimum": 0,
      "description": "Total reposts received this week"
    },
    "specimensPhotographed": {
      "type": "integer",
      "minimum": 0,
      "description": "New specimens photographed this week"
    }
  },
  "description": "Rolled-up counts from daily records"
}
weeklyPatterns object

Activity pattern aggregation for the week based on half-hour blocks

Properties

avgBlocksPerDay integer Optional

Average active blocks per day (totalActiveBlocks / daysActive, rounded)

minimum: 0
peakBlocks integer Optional

Highest activeBlockCount for any single day in the week

minimum: 0maximum: 48
totalActiveBlocks integer Optional

Sum of activeBlockCount across all days in the week

minimum: 0
View raw schema
{
  "type": "object",
  "properties": {
    "peakBlocks": {
      "type": "integer",
      "maximum": 48,
      "minimum": 0,
      "description": "Highest activeBlockCount for any single day in the week"
    },
    "avgBlocksPerDay": {
      "type": "integer",
      "minimum": 0,
      "description": "Average active blocks per day (totalActiveBlocks / daysActive, rounded)"
    },
    "totalActiveBlocks": {
      "type": "integer",
      "minimum": 0,
      "description": "Sum of activeBlockCount across all days in the week"
    }
  },
  "description": "Activity pattern aggregation for the week based on half-hour blocks"
}

Lexicon Garden

@