Agent Behaviour Policies
Who may edit what, where. Every agent that builds this site has a grant: the paths it writes, the hosts it sends to, the tools it uses. Deny by default. Policy abp/policies.json v0.4.1 (sha256:b45cf492650984f3).
Mode: observe. Nothing is blocked. The hooks and the gate log every action outside a grant, so the team can learn which lines are right; a rule moves towards enforcement only after two or three rounds of logs, and only by Dinis's decision, rule by rule. A conductor or Dinis can always override, and the override is logged.
External contributors and their agents: read the guidance. Where each agent runs, and at what I/O level: where agents run.
44 agents
conductor.fringe@PrompTugal.dinis
lead · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/conductor.jsonteam/dinis/agents/conductor.fringe.jsonteam/dinis/agents/conductor/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonwork/**briefs/**team/**REALITY.mdBRIEF-CORRECTIONS.mdCLAUDE.mdROLES.mdSWARM.mdJOIN.mdKICKOFF.mdREADME.mdsources.mdsecurity/**data/inboxes/**data/inbox-counts.jsondata/person-keys.jsondata/links.jsondata/places.jsonadmin/site.json.gitignoreHOLD.md
Owns:
its ABPwork/architect.1.fringe@PrompTugal.dinis
architect · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/architect.1.jsonteam/dinis/agents/architect.1.fringe.jsonteam/dinis/agents/architect.1/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonabp/**.claude/**data/architecture.jsonadmin/tools/architecture.mjsadmin/build/guidance.mjsadmin/build/abp-page.mjsadmin/build/architecture-page.mjsCONTRIBUTING.mdguidance/**data/runtimes.jsondata/operating-model.jsondocs/where-agents-run*admin/build/operating-model.mjsabp/reviews/**tasks/**data/run-reach.jsondata/work-altitudes.jsondocs/articles/**admin/build/articles.mjsdocs/handoffs/**data/altitude-runs.jsondata/work-altitudes-*.jsonbriefs/*.md#notes-of-Dinis-in-its-session
fable.fringe@PrompTugal.dinis
advisor · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/fable.jsonteam/dinis/agents/fable.fringe.jsonteam/dinis/agents/fable/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonadvice/**
observability.fringe@PrompTugal.dinis
observability · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/observability.jsonteam/dinis/agents/observability.fringe.jsonteam/dinis/agents/observability/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsondata/obs/**data/geo/**assets/obs/**admin/obs/**admin/tools/obs/**admin/tools/agent-log.mjsadmin/tools/trace-event.mjsadmin/build/traffic.mjsadmin/build/activity.mjsadmin/build/worldmap.mjs
Owns:
its ABPadmin/build/traffic.mjsdesign.1.fringe@PrompTugal.dinis
design · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/design.1.jsonteam/dinis/agents/design.1.fringe.jsonteam/dinis/agents/design.1/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonadmin/build/*.mjs (your own page modules)admin/build/designs/**admin/build/og/**admin/build/tokens.cssassets/brand/**assets/**work/design/**admin/build/*.js (your own page modules)admin/build/identity.mjsadmin/build/programme.mjsadmin/build/designs/a.mjs
design.2.fringe@PrompTugal.dinis
design · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/design.2.jsonteam/dinis/agents/design.2.fringe.jsonteam/dinis/agents/design.2/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonadmin/build/*.mjs (your own page modules)admin/build/designs/**admin/build/og/**admin/build/tokens.cssassets/brand/**assets/**work/design/**admin/build/*.js (your own page modules)admin/build/og/**admin/build/timeline.mjsadmin/tools/og-card.mjsadmin/tools/design-preview.mjs
design.3.fringe@PrompTugal.dinis
design · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/design.3.jsonteam/dinis/agents/design.3.fringe.jsonteam/dinis/agents/design.3/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonadmin/build/*.mjs (your own page modules)admin/build/designs/**admin/build/og/**admin/build/tokens.cssassets/brand/**assets/**work/design/**admin/build/*.js (your own page modules)admin/build/event-pages.mjsadmin/build/cards.mjsadmin/build/how.mjsadmin/build/designs/c.mjs
Owns:
its ABPadmin/build/event-pages.mjsdesign.4.fringe@PrompTugal.dinis
design · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/design.4.jsonteam/dinis/agents/design.4.fringe.jsonteam/dinis/agents/design.4/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonadmin/build/*.mjs (your own page modules)admin/build/designs/**admin/build/og/**admin/build/tokens.cssassets/brand/**assets/**work/design/**admin/build/*.js (your own page modules)admin/build/tokens.cssadmin/build/identity.mjsadmin/build/tiers.mjs
Owns:
its ABPadmin/build/identity.mjsdev.1.fringe@PrompTugal.dinis
dev · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/dev.1.jsonteam/dinis/agents/dev.1.fringe.jsonteam/dinis/agents/dev.1/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonadmin/build/**admin/tools/**admin/redirect/**admin/series.txtassets/**api/**.github/workflows/*.ymldata/second-opinion.jsondata/organisers.jsondata/person-keys.jsonadmin/site.jsonCNAMEdata/models-*.jsonadmin/build/swarm.mjsadmin/build/me.mjsassets/me/**assets/vendor/**admin/tools/inboxes.py
Owns:
its ABPadmin/build/swarm.mjsdev.2.fringe@PrompTugal.dinis
dev · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/dev.2.jsonteam/dinis/agents/dev.2.fringe.jsonteam/dinis/agents/dev.2/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonadmin/build/**admin/tools/**admin/redirect/**admin/series.txtassets/**api/**.github/workflows/*.ymldata/second-opinion.jsondata/organisers.jsondata/person-keys.jsonadmin/site.jsonCNAMEdata/models-*.json
Owns:
its ABPadmin/build/build.mjs, .github/workflows/deploy.yml, admin/build/validate.mjs, api/v1/README.mdresearcher.2.fringe@PrompTugal.dinis
researcher · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/researcher.2.jsonteam/dinis/agents/researcher.2.fringe.jsonteam/dinis/agents/researcher.2/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsondata/events.jsonseed/**sources.mdapi/v1/README.mddata/places.jsondata/feeds/**data/tips-status.json
Owns:
its ABPdata/events.jsoncapture.1.fringe@PrompTugal.dinis
capture · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/capture.1.jsonteam/dinis/agents/capture.1.fringe.jsonteam/dinis/agents/capture.1/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsondata/capture-*.jsonadmin/capture-sealed/**admin/tools/capture.mjsadmin/build/evolution.mjsadmin/tools/covers.mjsdata/event-images.json
outreach.1.fringe@PrompTugal.dinis
outreach · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/outreach.1.jsonteam/dinis/agents/outreach.1.fringe.jsonteam/dinis/agents/outreach.1/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonwork/drafts/**data/outreach*.jsonadmin/outreach-sealed/**admin/tools/outreach.py
usability.1.fringe@PrompTugal.dinis
usability · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/usability.1.jsonteam/dinis/agents/usability.1.fringe.jsonteam/dinis/agents/usability.1/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonwork/design/**work/28-usability.md
researcher.fringe@PrompTugal.dinis
researcher · the old lead's · pushes to dev
team/dinis/agents/researcher.jsonteam/dinis/agents/researcher.fringe.jsonteam/dinis/agents/researcher/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsondata/events.jsonseed/**sources.mdapi/v1/README.mddata/places.jsondata/feeds/**
security.fringe@PrompTugal.dinis
security · the old lead's · pushes to dev
team/dinis/agents/security.jsonteam/dinis/agents/security.fringe.jsonteam/dinis/agents/security/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonsecurity/**HOLD.md
dev.fringe@PrompTugal.dinis
dev · the old lead's · pushes to dev
team/dinis/agents/dev.jsonteam/dinis/agents/dev.fringe.jsonteam/dinis/agents/dev/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonadmin/build/**admin/tools/**admin/redirect/**admin/series.txtassets/**api/**.github/workflows/*.ymldata/second-opinion.jsondata/organisers.jsondata/person-keys.jsonadmin/site.jsonCNAMEdata/models-*.json
dev.lead.fringe@PrompTugal.dinis
dev · unknown · pushes to dev
team/dinis/agents/dev.lead.jsonteam/dinis/agents/dev.lead.fringe.jsonteam/dinis/agents/dev.lead/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonadmin/build/**admin/tools/**admin/redirect/**admin/series.txtassets/**api/**.github/workflows/*.ymldata/second-opinion.jsondata/organisers.jsondata/person-keys.jsonadmin/site.jsonCNAMEdata/models-*.json
conductor.C.fringe@PrompTugal.dinis
conductor · conductor.C's · pushes to dev
team/dinis/agents/conductor.c.jsonteam/dinis/agents/conductor.c.fringe.jsonteam/dinis/agents/conductor.c/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/dinis/**work/drafts/dinis/**tasks/*/packet.json
conductor.B@ios.PrompTugal.dinis
conductor · the old lead's · pushes to dev
team/?/agents/conductor.b.jsonteam/?/agents/conductor.b.fringe.jsonteam/?/agents/conductor.b/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.json
conductor.fringe@PrompTugal.vicky
conductor · Vicky's · pushes to dev
team/vicky/agents/conductor.jsonteam/vicky/agents/conductor.fringe.jsonteam/vicky/agents/conductor/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/vicky/**work/drafts/vicky/**tasks/*/packet.jsonwork/13-editorial-check.md
conductor.fringe@PrompTugal.indi
conductor · Indi's · pushes to dev
team/indi/agents/conductor.jsonteam/indi/agents/conductor.fringe.jsonteam/indi/agents/conductor/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/indi/**work/drafts/indi/**tasks/*/packet.jsondata/communities.jsonseed/communities-*.jsonadmin/tools/communities.mjsadmin/build/communities-page.mjsapi/v1/communities.json
conductor.fringe@PrompTugal.angelo
conductor · Angelo's · pushes to dev
team/angelo/agents/conductor.jsonteam/angelo/agents/conductor.fringe.jsonteam/angelo/agents/conductor/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/angelo/**work/drafts/angelo/**tasks/*/packet.jsonadmin/build/graph.mjsadmin/build/graph.jsadmin/build/trace-page.mjsadmin/build/trace-strip.mjsadmin/tools/ptnews-index.mjsadmin/tools/trace-event.mjsdata/ptnews-index.jsonapi/v1/graph.jsonadmin/build/storm-trace-page.mjsadmin/build/storm-trace.jsadmin/tools/storm-trace.mjsdata/storm-trace.json
Owns:
its ABPadmin/build/graph.mjs, graph.js, team/angelo/status.jsondesigner.fringe@PrompTugal.angelo
design · Angelo's · pushes to dev
team/angelo/agents/designer.jsonteam/angelo/agents/designer.fringe.jsonteam/angelo/agents/designer/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/angelo/**admin/build/graph.mjsadmin/build/graph.js
graph.fringe@PrompTugal.angelo
dev · Angelo's · pushes to dev
team/angelo/agents/graph.jsonteam/angelo/agents/graph.fringe.jsonteam/angelo/agents/graph/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/angelo/**admin/build/graph.mjsadmin/build/graph.jsapi/v1/graph.json
tracer.fringe@PrompTugal.angelo
observability · Angelo's · pushes to dev
team/angelo/agents/tracer.jsonteam/angelo/agents/tracer.fringe.jsonteam/angelo/agents/tracer/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/angelo/**admin/tools/trace-event.mjs
conductor.fringe@PrompTugal.jose
conductor · Jose's · pushes to dev
team/jose/agents/conductor.jsonteam/jose/agents/conductor.fringe.jsonteam/jose/agents/conductor/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/jose/**work/drafts/jose/**tasks/*/packet.jsonwork/drafts/**work/18-outreach-kit.md
conductor.fringe@PrompTugal.silvio
conductor · Silvio's · pushes to dev
team/silvio/agents/conductor.jsonteam/silvio/agents/conductor.fringe.jsonteam/silvio/agents/conductor/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/silvio/**work/drafts/silvio/**tasks/*/packet.json
conductor.fringe@PrompTugal.daniela
conductor · Daniela's · pushes to dev
team/daniela/agents/conductor.jsonteam/daniela/agents/conductor.fringe.jsonteam/daniela/agents/conductor/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/daniela/**work/drafts/daniela/**tasks/*/packet.json
researcher.1.fringe@PrompTugal.jose
researcher · Jose's · pushes to dev
team/jose/agents/researcher.1.jsonteam/jose/agents/researcher.1.fringe.jsonteam/jose/agents/researcher.1/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsondata/events.jsonseed/**sources.mdapi/v1/README.mddata/places.jsondata/feeds/**
ontologist.1.fringe@PrompTugal.dinis
ontologist · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/ontologist.1.jsonteam/dinis/agents/ontologist.1.fringe.jsonteam/dinis/agents/ontologist.1/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsondata/graph/**admin/build/graph-*.mjs
conductor@web-summit.dinis
reviewer · another account (the Web Summit team's site) · pushes to dev
team/?/agents/conductor.jsonteam/?/agents/conductor.fringe.jsonteam/?/agents/conductor/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.json
elastic.1.fringe@PrompTugal.dinis
elastic · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/elastic.1.jsonteam/dinis/agents/elastic.1.fringe.jsonteam/dinis/agents/elastic.1/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonelastic/**admin/tools/elastic*data/elastic*.jsondocs/elastic*
gravity.1.fringe@PrompTugal.silvio
conductor · Silvio's · pushes to dev
team/silvio/agents/gravity.1.jsonteam/silvio/agents/gravity.1.fringe.jsonteam/silvio/agents/gravity.1/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/silvio/**
neo4j.1.fringe@PrompTugal.dinis
neo4j · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/neo4j.1.jsonteam/dinis/agents/neo4j.1.fringe.jsonteam/dinis/agents/neo4j.1/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonneo4j/**admin/tools/neo4j*data/neo4j*.jsondocs/neo4j*
grafana.1.fringe@PrompTugal.dinis
grafana · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/grafana.1.jsonteam/dinis/agents/grafana.1.fringe.jsonteam/dinis/agents/grafana.1/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonadmin/grafana/**docs/grafana*work/51-grafana.md
research.reach.fringe@PrompTugal.angelo
researcher · Angelo's · pushes to dev
team/angelo/agents/research.reach.jsonteam/angelo/agents/research.reach.fringe.jsonteam/angelo/agents/research.reach/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/angelo/drafts/**team/angelo/runs.md
design.reach-a.fringe@PrompTugal.angelo
design · Angelo's · pushes to dev
team/angelo/agents/design.reach-a.jsonteam/angelo/agents/design.reach-a.fringe.jsonteam/angelo/agents/design.reach-a/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/angelo/drafts/**team/angelo/runs.md
design.reach-b.fringe@PrompTugal.angelo
design · Angelo's · pushes to dev
team/angelo/agents/design.reach-b.jsonteam/angelo/agents/design.reach-b.fringe.jsonteam/angelo/agents/design.reach-b/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/angelo/drafts/**team/angelo/runs.md
tracer.fix.fringe@PrompTugal.angelo
observability · Angelo's · pushes to dev
team/angelo/agents/tracer.fix.jsonteam/angelo/agents/tracer.fix.fringe.jsonteam/angelo/agents/tracer.fix/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/angelo/**admin/tools/trace-event.mjsadmin/build/trace-page.mjsadmin/build/trace-strip.mjs
graph.fix.fringe@PrompTugal.angelo
dev · Angelo's · pushes to dev
team/angelo/agents/graph.fix.jsonteam/angelo/agents/graph.fix.fringe.jsonteam/angelo/agents/graph.fix/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/angelo/**admin/build/graph.mjsadmin/build/graph.jsapi/v1/graph.json
swarm.1.fringe@PrompTugal.dinis
swarm · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/swarm.1.jsonteam/dinis/agents/swarm.1.fringe.jsonteam/dinis/agents/swarm.1/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonswarm/**docs/swarm*work/52-*.md
swarm.1.dev.fringe@PrompTugal.dinis
swarm-dev · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/swarm.1.dev.jsonteam/dinis/agents/swarm.1.dev.fringe.jsonteam/dinis/agents/swarm.1.dev/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/dinis/agents/swarm.1.dev.json
swarm.1.designer.fringe@PrompTugal.dinis
swarm-designer · riskmandate-personal (Ultra) · pushes to dev
team/dinis/agents/swarm.1.designer.jsonteam/dinis/agents/swarm.1.designer.fringe.jsonteam/dinis/agents/swarm.1.designer/**data/keys.json (your own entry)data/inboxes/<your key id>.jsonwork/NN-<item you own>.mdtasks/*/result-*.jsondata/models-ledger.jsonteam/dinis/agents/swarm.1.designer.json
Built from abp/index.json (node abp/tools/abp.mjs build). The map of who actually writes where, from git: /api/v1/architecture.json.