Simple Agility Telemetry Adoption

This page holds the work instructions for each product team to bring its product onto the telemetry contract. It covers two decisions in the decision log:

The contract states the rule; this page states what each repository has to change. When an item is finished:

  1. Tick it here, with the date and the commit.
  2. Update the matching row on SimpleAgilityRoadmap phase 1.

If an instruction turns out to be wrong for your codebase, fix this page rather than working around it. The next team will hit the same thing.

Status

TeamRepositoryState (2026-10-12)
jakemon~/source/jakemonDone. It attaches service and service_instance to product metrics and logs. Live instances: wiki-prod, crafter-prod, roller-prod (logs only), wiki-dev and crafter-dev.
Wikantik~/source/jspwikiNot started. Its logs are already ECS JSON. It needs service.name, ECS context keys, trace.id, and an updated conformance script.
Roller~/source/rollerNot started. It logs plain text and has no /metrics.
CrafterCMSthird-partyNo work. jakemon labels it; its log format is not ours to change.

Coordination rules for every team

Wikantik (~/source/jspwiki)

Wikantik already uses log4j2's ECS layout. LogQL's | json and Loki's detected_level work on its lines today, so these items close the remaining gaps.

Done when:

Roller (~/source/roller)

Coding Agent Execution Blueprint: The complete, code-level execution specification for items R1 through R5 is detailed in RollerTelemetryHandoffSpec. Consult it for exact Maven XML, Log4j2 additivity requirements, TraceCorrelationFilter.java reference implementation, and port 8090 Actuator configuration.

Roller is Spring Boot 4.1 on log4j2, and it already depends on Actuator.

Done when:

A new product joining the stack

  1. Pick a product short name. Record it in SimpleAgilityDecisionLog SA-5.
  2. Follow the telemetry contract from the start:
    • ECS JSON on stdout;
    • trace.id propagation;
    • /metrics with your prefix;
    • a liveness endpoint.
  3. Add a section to this page and a row to Status.
  4. Ask jakemon to register the instance (<product>-<env>) for metrics and logs.

jakemon (done; kept as the reference)

See also


Cluster Hub: Simple Agility Stack Hub (simple-agility)