Skip to content

Current-State Inventory

Purpose

Answers: What does this organization actually have, and how much of that do we know rather than assume?

The second half is the point. An inventory that lists components without grading them reads as knowledge and is often mostly hearsay — a slide box and a running production system look identical in a table. The evidence grade is what separates them, and it is the artifact’s reason to exist.

Example

Show a worked example of this artifact
---
ddx:
  id: current-state-inventory-analytics-estate
  type: current-state-inventory
  status: draft
  authoring:
    home: repo
---

# Current-State Inventory: Analytics Estate

Register of what Northwind Retail already runs for reporting and analytics,
each entry graded for evidence. **This is a survey, not a target.** The
warehouse consolidation decision lives in [[architecture]] and ADR-014.

## Scope and Boundary

- Estate: reporting, analytics and the pipelines feeding them
- Surveyed: 3–17 March 2026
- Excluded: transactional systems (covered by the order-platform inventory);
  marketing SaaS, which Marketing Ops owns and has not shared
- Owner: Priya Raman, Data Platform

## Evidence Grades

| Grade | Means |
|-------|-------|
| **Evidenced** | A named source attests it exists and works this way. Cited, with a date. |
| **Partial** | It exists, but a design-defining fact about it is unrecorded. |
| **Assumed** | Claimed, with no source. It may be real; we cannot say so. |
| **Aspirational** | Target state. It does not exist today. |
| **Spike-open** | A design-defining fact is assumed *and* blocks a decision. |

An entry graded Evidenced with no citation is Assumed.

## Inventory

### Ingestion

| Component | Supplier / incumbent | Grade | Evidence |
|-----------|----------------------|-------|----------|
| Nightly ETL | Airflow 2.6, self-hosted | Evidenced | Runbook walkthrough, Priya Raman, 5 Mar 2026. 41 DAGs, 02:00 UTC |
| CDC from orders DB | Debezium | Partial | Confirmed running (Priya, 5 Mar). Which tables it covers is unrecorded |
| Partner SFTP drops | — | Assumed | Named on the 2024 platform diagram; no owner found, no job scheduling it |

### Storage

| Component | Supplier / incumbent | Grade | Evidence |
|-----------|----------------------|-------|----------|
| Warehouse | Redshift, 4-node ra3.xlplus | Evidenced | Billing console, 6 Mar 2026 |
| Lake | S3, `nw-analytics-raw` | Partial | Exists (console). Retention policy and access model unrecorded |
| Lakehouse | Iceberg on S3 | Aspirational | On the FY27 plan. No table, no catalog, no owner |

### Consumption

| Component | Supplier / incumbent | Grade | Evidence |
|-----------|----------------------|-------|----------|
| Exec dashboards | Looker | Evidenced | Licence renewal, 12 Mar 2026. 9 of 340 dashboards viewed weekly |
| Ad-hoc SQL | Redshift Query Editor | Evidenced | Query logs, 11 Mar 2026 |
| Notebooks | — | Spike-open | Analysts describe "notebooks" without naming a platform. Blocks the compute-isolation decision in ADR-014 |
| Embedded reporting | — | Assumed | On the diagram. No consumer found |

## Totals

Tallied from the rows above, 17 March 2026.

| Grade | Count | Share |
|-------|-------|-------|
| Evidenced | 4 | 40% |
| Partial | 2 | 20% |
| Aspirational | 1 | 10% |
| Assumed | 2 | 20% |
| Spike-open | 1 | 10% |

**3 of 10 entries have no evidence they exist** — the Assumed and Aspirational
rows. Two of those three are on the 2024 platform diagram and nowhere else,
which is the strongest argument in this document for retiring that diagram.

## Open Questions

| # | Question | Blocks | Owner |
|---|----------|--------|-------|
| 1 | Which tables does CDC actually cover? | Warehouse consolidation scope | Priya Raman |
| 2 | What do analysts mean by "notebooks"? | ADR-014 compute isolation | Sam Okafor |
| 3 | Does anything consume the partner SFTP drops? | Whether ingestion can be retired | Priya Raman |

## Review Checklist

- [x] Every entry carries exactly one grade from the declared vocabulary
- [x] Every Evidenced entry names a source and a date
- [x] Totals are tallied from this revision, not carried forward
- [x] The unevidenced share is stated, not implied
- [x] Scope and exclusions are both stated
- [x] No target state, recommendation or decision has crept in

Reference

ActivityDiscover — Validate that an opportunity is worth pursuing before committing to a development cycle.
Default locationdocs/helix/00-discover/current-state-inventory-[estate-name].md
RequiresNone
EnablesNone
InformsArchitecture
Feasibility Study
Business Case
PRD
Generation prompt
Show the full generation prompt
# Current-State Inventory Generation Prompt

Record what the organization already has, graded for evidence, before any
target state is proposed.

## Storage Location

Store at: `docs/helix/00-discover/current-state-inventory-[estate-name].md`

## Purpose

Answers: **What does this organization actually have, and how much of that do
we know rather than assume?**

The second half is the point. An inventory that lists components without
grading them reads as knowledge and is often mostly hearsay — a slide box and
a running production system look identical in a table. The evidence grade is
what separates them, and it is the artifact's reason to exist.

## Role Boundary

A Current-State Inventory is not an architecture. Architecture states what the
system should be and records the decisions that get it there; this states what
is there now. When an entry needs a decision, the decision goes in an ADR and
this inventory cites it.

It is also not a [[data-flow-analysis]]. That documents **one** business
process end to end — its actors, transformations and constraints. This covers
**many** components at register depth, one row each.

It is not a vendor evaluation. Comparative assessment belongs in
[[competitive-analysis]].

## Method

1. **Fix the boundary first.** Name what the inventory covers and what it
   excludes. An unbounded inventory is never finishable and never trusted.
2. **Choose one grouping scheme** — capability, layer, owning function, vendor
   — and hold it for the whole instance. Mixed schemes hide gaps.
3. **One row per component.** Resist bundling: two products under one row take
   one grade, and the weaker evidence disappears behind the stronger. If two
   things have different grades, owners or adoption states, they are two rows.
4. **Grade every row, then find the source.** Write the citation before the
   grade is allowed to be Evidenced. A source is a named document, meeting,
   or person plus a date — not "the team says".
5. **Tally the totals from the rows you just wrote.** Never carry them
   forward.
6. **State the unevidenced share in words.** The reader should not have to do
   arithmetic to learn how much of this is assumption.

## Grading Honestly

The pressure on this artifact is always toward optimism: a sponsor wants the
estate to look known, and every Assumed row reads as a gap in the author's
work rather than a gap in the organization's knowledge. It is the opposite.
**The unevidenced rows are the finding.** An inventory that grades two-thirds
of its entries Assumed has done its job and should say so in its own words.

Watch for these specifically:

- **Bundling as flattery.** Merging rows reduces the count of unevidenced
  entries without changing what is known.
- **Evidenced by familiarity.** "Everyone knows we use X" is Assumed.
- **Aspirational drift.** A component that is planned, funded and staffed is
  still Aspirational until it exists.
- **Stale totals.** Numbers carried from a previous revision assert a
  freshness the revision does not have.

## Inputs

- Existing architecture diagrams, slides and vendor lists — treat each as a
  claim to verify, never as a source
- Meeting notes, emails and interviews, which are where citations come from
- Any system of record for assets, licences or spend

## Quality Checks

- Every entry carries exactly one grade from the declared vocabulary
- Every Evidenced entry names a source and a date
- Totals tally against the rows in this revision
- The unevidenced share appears in prose
- Scope and exclusions are both stated
- No target state, recommendation or decision appears anywhere
Template
Show the template structure
---
ddx:
  id: current-state-inventory
  authoring:
    home: repo
---

# Current-State Inventory: [Estate or Domain Name]

Register of what the organization already has, each entry graded for evidence.
Captured during Discover to ground architecture and modernization decisions in
the estate as it is. **This is a survey, not a target.** Target state,
recommendations and decisions belong in [[architecture]] and its ADRs.

One instance covers one estate or domain. A large organization produces
several — by business unit, by platform, or by capability area.

## Scope and Boundary

- Estate: [What this inventory covers]
- Surveyed: [Date range the evidence was gathered]
- Excluded: [What is deliberately out of scope, and why]
- Owner: [Who maintains this inventory]

## Evidence Grades

Every entry carries exactly one grade. State the vocabulary here so a reader
knows what each grade licenses them to claim.

| Grade | Means |
|-------|-------|
| **Evidenced** | A named source attests it exists and works this way. Cited, with a date. |
| **Partial** | It exists, but a design-defining fact about it is unrecorded. |
| **Assumed** | Claimed — on a slide, in conversation — with no source. It may be real; we cannot say so. |
| **Aspirational** | Target state. It does not exist today, and this entry does not claim it does. |
| **Spike-open** | A design-defining fact is assumed *and* blocks a decision. Name the decision it blocks. |

An entry graded **Evidenced** with no citation is **Assumed**. Grade honestly:
an inventory that flatters the estate is worse than no inventory, because it
is trusted.

## Inventory

Group by whatever structure the estate actually has — capability, layer,
owning function, vendor. Keep one grouping scheme for the whole instance.

### [Group name]

| Component | Supplier / incumbent | Grade | Evidence |
|-----------|----------------------|-------|----------|
| [Name] | [Who provides it, or *No incumbent*] | [Grade] | [Named source and date, or what is missing] |

## Totals

Tally from the inventory above **in this revision**. Never carry totals
forward from a previous one — a stale total is a false claim about how much
is known.

| Grade | Count | Share |
|-------|-------|-------|
| Evidenced | [n] | [%] |
| Partial | [n] | [%] |
| Aspirational | [n] | [%] |
| Assumed | [n] | [%] |
| Spike-open | [n] | [%] |

**[n] of [total] entries have no evidence they exist** — the Assumed and
Aspirational rows. State this plainly; do not leave the reader to count.

## Open Questions

| # | Question | Blocks | Owner |
|---|----------|--------|-------|
| 1 | [What is unknown about a component, stated as a question] | [What the answer unblocks] | [Named person] |

## Review Checklist

- [ ] Every entry carries exactly one grade from the declared vocabulary
- [ ] Every Evidenced entry names a source and a date
- [ ] Totals are tallied from this revision, not carried forward
- [ ] The unevidenced share is stated, not implied
- [ ] Scope and exclusions are both stated
- [ ] No target state, recommendation or decision has crept in
Innsigle seal: model-primary by HELIX

The signature covers the markdown source of this page, not these HTML bytes. This page quotes that seal; verify it against the source file.

Composition
model-primary
Issuer
HELIX helix
Signing key
ed25519:b0865d76d834a52c48506414d16f4e5a (build key)
Signed source
artifact-types/discover/current-state-inventory.md
Signed
2026-09-23T14:11:58Z
Content digest
sha256:3e9b3870…17e351f9

This build key is endorsed by the human key for build signing; the signature is not a detector and not a truth guarantee.

Raw attestation JSON
{
  "payload": {
    "innsigle": "1",
    "type": "https://innsigle.dev/claim/colophon/v1",
    "issued_at": "2026-09-23T14:11:58Z",
    "issuer": {
      "id": "helix",
      "name": "HELIX",
      "key_id": "ed25519:b0865d76d834a52c48506414d16f4e5a",
      "key_url": "https://documentdrivendx.github.io/helix/.well-known/innsigle/keys.json"
    },
    "subjects": [
      {
        "uri": "https://documentdrivendx.github.io/helix/artifact-types/discover/current-state-inventory/",
        "digest": {
          "alg": "sha256",
          "value": "3e9b3870fa531e04320724584218f95e59d07eaa2b8666e47b1fd80017e351f9"
        }
      }
    ],
    "colophon": {
      "schema_version": "1",
      "composition": "model-primary",
      "ingredients": [
        {
          "kind": "model",
          "name": "Claude",
          "role": "draft"
        },
        {
          "kind": "tool",
          "name": "sloptimizer",
          "role": "rewrite"
        },
        {
          "kind": "human",
          "name": "operator",
          "role": "structure-edit"
        }
      ],
      "notes": null
    }
  },
  "payload_encoding": "json",
  "signatures": [
    {
      "key_id": "ed25519:b0865d76d834a52c48506414d16f4e5a",
      "alg": "ed25519",
      "sig": "Ebxnm-wJktzq5m5VOQyQjArJtS3HW12YnuThQ0LX2-LM2ZGTFbU38v9j4959BJGewoHifYdK6U06FcLSp_T8Bg",
      "signed_at": "2026-09-23T14:11:58Z"
    }
  ]
}