Skip to content

Info-arch restructure #242

Description

@johnnymatthews

The docs have evolved significantly since this project started. Instead of a products-based approach (Indexer, Hosts, Views, etc) we need to move to a hybrid persona + Diátaxis model.

How we're gonna do it

Basically, adopt a hybrid structure. Goal-based tracks at the top level, Diátaxis modes (tutorial / how-to / reference / explanation) used to organise content within each track.

Rejected alternatives and why

Before we get into the meat of this task, here's other stuff we considered but abandoned:

Pure persona

This fights over cross-cutting content. One topic needed by several audiences forces duplication or a junk-drawer owner.

Pure Diátaxis

Scatters each role's content across all four sections; bad when operators and developers are genuinely different humans.

Pure topic/domain

Reproduces the ownership fights one level down.

Lifecycle/journey spine

Developer and operator journeys diverge too hard for one linear spine.

Proposed tree

Home
│
├── Understand                          (evaluator front door + shared concepts)
│   ├── What is Shinzo                  [explanation]
│   ├── How it works                    [explanation]
│   ├── Core concepts                   [explanation]
│   │   ├── Views
│   │   ├── Attestation
│   │   ├── DefraDB
│   │   └── SHNZ token / economics
│   └── ELI5 Architecture               [explanation]
│
├── Build apps                          (developer / View creator)
│   ├── Your first app                  [tutorial]
│   ├── Create a View                   [how-to]
│   ├── Build an app                    [how-to]
│   ├── Query data                      [how-to]
│   ├── Publish & earn                  [how-to]
│   └── Concepts (builder-framed)       [explanation]
│       ├── Views for builders
│       ├── Economics of views/requests
│       └── Attestation as a query filter
│
├── Run infrastructure                  (indexer + host operator)
│   ├── Get started                     [tutorial]
│   ├── Run an Indexer                  [how-to]
│   │   ├── Install (Docker / source)
│   │   └── Register
│   ├── Run a Host                      [how-to]
│   │   ├── Install (Docker / source)
│   │   └── Configure event filters
│   ├── Operations                      [how-to]
│   │   ├── Key & identity management
│   │   ├── Backups
│   │   ├── Monitoring
│   │   └── Troubleshooting
│   ├── Private Hosts                   [how-to]
│   └── Earnings                        [explanation]
│
└── Reference                           (role-agnostic, all lookup)
    ├── Architecture (deep)             [reference]
    ├── Components                      [reference]
    │   ├── Indexer client
    │   ├── Host client
    │   ├── ShinzoHub
    │   ├── SourceHub
    │   ├── Outpost
    │   ├── viewkit
    │   ├── DefraDB
    │   └── Lens (LensVM)
    ├── Data model                      [reference]
    │   ├── Primitives
    │   ├── Signatures
    │   ├── AttestationRecord
    │   ├── Naming convention
    │   ├── DefraDB metadata
    │   └── Schema directives
    ├── GraphQL API                     [reference]
    └── Specs & limits                  [reference]

Key structural decisions

  • We've gone with goal labels over identity labels (Understand / Build / Run, not "For developers / For researchers"), because one person wears several hats in a session.
  • Revenue is not a top-level section. It's an outcome of two roles, so it threads in as Publish & earn (Build) and Earnings (Run infra), with shared economics living in Core concepts.
  • Reference is centralised, not mirrored. All lookup-shaped, role-agnostic content pools in one track; the Build/Run tracks cross-link into it rather than duplicating. Reference is the most cross-cutting type you have, so centralising it is the whole point.
  • Shared explanations live in the Understand section. Core concepts (Views, Attestation, DefraDB, SHNZ) has one canonical home; everything else cross-links to it.
  • Architecture is deliberately written twice. There's a gentle explanation in Understand for evaluators, and then we go deep (two-chains/IBC/ICA spec) in Reference for implementers. This is the one intentional duplication.
  • FAQ are gone. Stuff like "Does it replace my node" is all merged into explanations. "How do I back up keys" is now in how-to (Operations). "RPC methods / storage / sync" is all in Reference.

Gaps to fill

There are obviously some pages that need writing. Completing these pages does not fall under this IA task, but I've put them here for future reference anyway:

Metadata

Metadata

Labels

P1Required for testnetXLLarge piece of workinfo-archMoving pages around, restructuring how things are organized.

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions