Habit · loads whenever its situation comes up, at any step

use-garden

about 4,400 tokens

use-garden as it installs, every line written by greenline, with no upstream source.

  • Written by greenline100%
  • 2 files
  • 0 edits
  • 0 sentences left out
  • 0 sources
  • last changed 2026-10-19

The text

SKILL.md

about 2,800 tokens
  • greenline

---

name: "use-garden"

description: "Consulting garden, the separately installed guidance command this repository's owner enabled, when an open engineering choice the repository does not settle, made in a change or only recommended, would be informed by published guidance. Use for a choice between approaches, a pattern or pitfall for a technology or concern the work touches, or a unit a repository decision names; not for a question about this repository's own facts or a change whose choices are already settled."

---

greenlineOpens the habit: garden is a separate command the owner enabled

# Use garden

garden is a separately installed command that answers engineering guidance questions from a published body of units. This repository's owner enabled it, so you may consult it whenever a question below is relevant, without asking each time. This method says when a consultation is relevant, what must be in place, how a consultation stays bounded, what a result is worth here and what to do when a consultation fails. The commands, their flags and their replies are in [operations.md](operations.md). This habit writes no record of its own: the CLI writes each consultation's receipts, and the section of the step that made the choice says what a consultation changed.

greenlineConsults garden on open engineering choices the repository does not settle

## When a consultation is relevant

Consult garden when the work reaches an open engineering choice that the repository's instructions, its decisions book, its root statements and the installed methods do not settle, and published guidance would inform it:

- a choice between approaches, libraries or patterns for a technology a governed root declares;

- a known pitfall, a security or data-handling rule, or a verification practice for a concern the change touches;

- a unit or an anchor that a repository decision or an earlier consultation names by its id.

The choice may be the whole request. A request that asks only for a recommendation on such a choice is consultable like a change that makes it: the recommendation is the work the consultation informs, and it names no change, below. It is still answered, not acted on: its receipts are the only files it writes. The block's rule that a factual question retrieves no guidance covers a factual question about this repository only.

These trigger no read:

- a factual question about this repository: inspect its files and answer;

- a change whose choices are already settled, a settled quick fix among them: a fix with no open choice needs no consultation;

- a question the repository's own decisions already answer, even when garden might answer it differently;

- wording, formatting, renaming or any change that makes no engineering choice.

Enabling permits relevant consultation. It never makes a read due before every edit, at the start of a session or as a ritual before a handoff. A consultation is part of the work it informs and is not announced as a step. Never announce or imply a consultation that was not made.

greenlineNeeds the garden command, its key and the connector the owner enabled

## What must be in place

- **The garden command.** The owner installs it separately; the manifest's `connectors.garden.executable` names it, `garden` on the `PATH` or an absolute path. greenline installs nothing and downloads nothing for garden, and there is no other way to reach it: never fetch garden's service or site directly.

- **garden's key.** garden reads it from `GARDEN_API_KEY` in the environment this session runs in. greenline passes it on unread and stores it nowhere. Check only whether the variable is present; never print it, write it to a file or the manifest, or ask for it in the conversation.

- **The change it serves.** A consultation that serves a change names that change, an open or stopped one, as the ledger guide describes. A question's consultation, a recommendation that changes no file, names no change: its receipts are the only files it writes, and a later request to make the change opens a change record of its own.

You never enable, disable, install or reconfigure garden yourself. Those are the owner's steps, taken with the connector's enable and disable commands, which [operations.md](operations.md) names. You never run the garden command yourself either: only the connector's call, [operations.md](operations.md), records a receipt before a result is shown, so a direct run is an unrecorded consultation.

greenlineRuns a consultation as one request: calls in order, each recorded

## How a consultation runs

1. Open a request with the first call, usually a list: the `list` operation through the connector's call, naming the change it serves, or none for a question's consultation, with the facets the change needs, its language, technology, task, concern, purpose and kind, and the roots that govern the touched files, each by the flag operations.md gives. Derive the facets from the root statements in the decisions book and the actual configuration, and the task and concern from the requested change. The `vocabulary` operation lists the values a facet may take.

2. Read each candidate's `when` and `summary` and select the units that bear on the choice. Read them with the `read` operation, naming the request, each unit and its requirements, which also delivers the units a selected unit requires.

3. Continue the same request, by its handle, for the rest of this owner request. A new owner request, a continuation asking for further edits included, opens a new request, naming the change where it serves one.

**One pinned publication per request.** The first successful call fixes the publication garden answered from, and every later call of the request reads that same publication. A continuation is refused when the repository's policy or garden's endpoint changed since the request began, or when the change it serves is no longer open or stopped; open a new request rather than work around the refusal. Nothing is ever silently rebound to another publication.

**The read budget.** Each read delivers at most 16 units and 262144 bytes of content, and each call ends within 30000 ms; a request fixes these limits when it opens. A `budget` refusal means selecting fewer units, not opening another request to read past the limit.

**Exclusions and prerequisites.** The exclusions the governed roots' statements declare are applied to every read without being named; the `read` operation's exclusion adds one for this read. A unit the repository excludes is never read, even when another unit requires it: the `excluded` refusal is the repository's prohibition holding, and the dependent unit is used without it or not at all. Choose the roots explicitly; the command does not infer which root governs.

greenlineThe repository's own instructions and decisions outrank any garden unit

## What a result is worth here

- The repository's instructions, decisions, constraints and prohibitions outrank any unit. A unit fills a gap they leave; a unit that contradicts a repository decision is not applied, and the conflict is named with its evidence when it matters to the work.

- A `disagreement` unit records that sources disagree: state the positions rather than average them. An `option` unit belongs to an option group, and the repository's decision chooses among the options.

- A result serves the request that received it. It never becomes standing guidance: it is not copied into the decisions book or a rule file, and a later request consults again rather than rely on an earlier reply. When the work settles a lasting choice, the book records the choice and its reason in the repository's own words.

- Unit bodies stay in the tool output. They are not saved to a file, a local library or a compiled task note.

- The receipt records what garden delivered, never what was applied. Say what a consultation changed in the change's sections, with the consultation ids the read returned and the actual code or check evidence, as the ledger guide describes; a question's reply says it in the answer.

greenlineA failed consultation is still attempted and recorded, with one notice

## When a consultation fails

A relevant consultation is attempted even when garden looks unavailable. A warning that the command is missing or the key is unset is no reason to skip the call: make it through the connector's call, naming the change, or none for a question, so the failure is recorded as a receipt with its kind. Then meet that kind below, with one notice and no permission question.

A failed call prints its kind and never a result. Each kind has one outcome:

| What happened | What you do |

| --- | --- |

| `unavailable`, `deadline`, `process` or `output-cap`: garden's service or command did not answer, or limited the rate | The call has ended. Continue the locally supported work without asking permission, and tell the person once in this request that garden was not consulted and what it would have informed. An `unavailable` whose input names the output is different: the receipt records a delivery that was never shown to you, so nothing from it is used and the consultation is reported as not seen. |

| `cancelled` | Stop that consultation. A cancellation is never permission to run it again or to continue it another way. |

| `unauthorized` or `missing-executable`: garden had no key, refused the key or its entitlement, or the command is absent | Nothing protected was delivered. Explain the remedy: the garden command installed, or a `GARDEN_API_KEY` in the session's environment that garden accepts with the entitlement the read needs. Keep ordinary local work going. |

| `private-data`: the key would have left garden in the call's arguments, the endpoint or an answer | Nothing carrying it was sent or written. Never put the key, or anything derived from it, into a flag value. When the endpoint or an answer carried it, tell the owner that the configured endpoint needs checking and that the key may be exposed. Do not repeat the same call. |

| `protocol`, `invalid-result` or `not-found`: the reply did not verify, was incomplete or named no such unit | Nothing from that call is used, and no unit is claimed as read that its receipt does not show delivered. |

| `budget`, `excluded` or `invalid-request`: the call asked past the budget, for an excluded unit, or with refused arguments | Narrow the call or correct its arguments. Never open another request to get past a limit or an exclusion. |

| `configuration`: garden disabled, a change no longer open or stopped, or a changed policy or endpoint | Change no configuration. A changed policy or endpoint means opening a new request, naming the change where it serves one. |

| `evidence`: the receipt could not be written or confirmed | The consultation is not recorded and its result was not printed. Report the evidence failure as it is, not as an outage, and leave any lock file for the owner to inspect. Never run the garden command directly to get the result another way. |

When a repository rule or the task genuinely needs what garden could not deliver, hold only the action that guidance governs, name the missing guidance and why the action needs it, and continue the rest of the work. The hold is as narrow as the rule's own words: a rule that conditions a harness change on garden's guidance holds that harness change, never a test case added under the existing harness. A failure that blocks nothing needs no hold, and ordinary local work never waits for garden.

Give one notice per request, not one per failed call: once the person knows garden was not consulted in this request, a later failed call is not announced again unless it asks something new of the person, such as a key to set. Do not retry in a loop; the next request with a relevant question tries garden again, and a request keeps its pinned publication when the service recovers.

Never manufacture a successful reply, a receipt or a unit's content. Never switch silently to another source: not another guidance provider or command, not garden's site, not remembered text presented as garden's guidance. Keep no copy of a unit to use while garden is unavailable.

SKILL.md as installed, byte for byte SHA-256 7bcb64b561f6dc6035659f7868b2cb1b5611367ec213eded312987a723754c0c

operations.md

about 1,500 tokens
  • greenline
greenlineEvery consultation runs through one greenline connectors call garden command

# garden's operations through greenline

Every consultation runs through one command, `greenline connectors call garden <operation>`, which starts the garden command the manifest names with literal arguments, checks its reply and records a receipt before it prints anything. The six operations:

| Operation | What it answers | Its own flags |

| ------------ | ------------------------------------------------------------------------- | ---------------------------------------------------------- |

| `list` | the units matching the filters: metadata only, never a body | at least one of `--language`, `--purpose`, `--technology`, `--task`, `--concern`, `--kind`, `--responsibility`, each repeatable |

| `read` | full units, each bound to its revision and content hash | `--id <unit>` (repeatable), `--requires`, `--exclude <unit>` (repeatable) |

| `resolve` | the unit that carries an anchor | `--anchor <name>` |

| `vocabulary` | every value a facet, a kind or a responsibility may carry | none |

| `snapshot` | the current publication, resolved once, or an exact one | `--id current` (the default) or `--id <publication>` |

| `changes` | what changed between two exact publications, in a request of its own | `--from <publication>`, `--to <publication>` |

greenlineLists the flags every operation takes, starting with the change or request

## The flags every operation takes

- `--change <id>` opens a new request that serves that open or stopped change; `--request <handle>` continues one. A question's consultation gives neither on its first call, and a continuation gives `--request` alone.

- `--snapshot <publication>` on the first call of a new request reads an exact, historical publication; without it the first call asks for the current one. `snapshot` takes `--id` instead.

- `--root <path>` names a governed root, repeatable; the default is the repository root. The roots decide which exclusions apply.

- `--max-units`, `--max-bytes` and `--timeout-ms` set the request's budget when it opens: each read delivers at most 16 units and 262144 content bytes, and each call ends within 30000 ms. A continuation cannot change them.

- `--call <id>` records the harness's own tool-call identity when it has one.

greenlineA question's consultation names no change but still writes receipts

## A question's consultation

A recommendation that changes no file names no change: its first call gives neither `--change` nor `--request`. Its receipts are generated like any request's, and the reply says what the recommendation took from each unit read, by the consultation ids the read returned.

greenlineExplains a success's JSON reply, its request handle and its receipt

## The reply

A success is one JSON document on stdout with exit status 0. It names the `request` handle to continue with, the `receipt` the call wrote, any `supportingReceipts` (the listing that expanded an excluded responsibility group), the `consultations` a read produced, each a unit id and the consultation id the change's sections cite, and the `result` garden returned, with the unit bodies for a read. The result is shown once and is never stored.

A refusal or failure is one JSON document on stderr with exit status 1, whose `error` names its `kind` and a short `input`. A usage refusal, a misspelt flag or a malformed value, exits with status 2 before anything runs.

greenlineLists each failure kind, its cause and what the agent does

## The failure kinds

| Kind | Where it comes from |

| -------------------- | ------------------------------------------------------------------------------------- |

| `unavailable` | garden could not reach its service, the service failed or limited the rate; or, with an input naming the output, greenline could not print a result its receipt records as delivered |

| `deadline` | the call passed its deadline and was ended |

| `cancelled` | the call was cancelled before garden answered |

| `unauthorized` | garden had no key, or its service refused the key or the key's entitlement |

| `private-data` | the key would have left garden in an argument, the endpoint or an answer, so nothing carrying it was sent or written |

| `not-found` | the publication, unit or anchor named does not exist there |

| `invalid-result` | the service's answer was malformed, partial, cut off or did not verify |

| `budget` | the read asked for more than the request's budget allows |

| `excluded` | the read would deliver a unit the repository excludes |

| `invalid-request` | garden or greenline refused the call's arguments |

| `missing-executable` | the garden command the manifest names is not installed or cannot run |

| `process` | the command ended without a reply, or could not start |

| `output-cap` | the command printed more than 2 MiB |

| `protocol` | the reply was not one valid garden result for the call made |

| `configuration` | garden is disabled, the change is not open or stopped, or the policy or endpoint changed |

| `evidence` | the receipt could not be written or confirmed, so the call is not recorded |

The receipts are generated under `.greenline/ledger/receipts/`, one collection per request. Never edit one by hand; `.greenline/ledger/README.md` says what they hold and where a change's sections name what a consultation changed.

greenlineThe decisions book and the ledger guide's paths

The decisions book, whose root statements the facets of a `list` derive from, is `.greenline/DECISIONS.md`; the ledger guide, `.greenline/ledger/README.md`, says how a change's sections name what a consultation changed.

What greenline wrote

The full reason for every passage greenline wrote, in the order of the text.

  1. SKILL.md:6 method

    The title and opening: garden is a separately installed guidance command the owner enabled, consulted through greenline. Re-cut at S18b: the habit writes no record of its own, the receipts being the CLI's and the step's section saying what a consultation changed. R1

  2. SKILL.md:18 method

    When a consultation is relevant: an open engineering choice the repository does not settle, and when not to consult. Re-cut at S18b onto the change record: a consultation names its change, and a question's names none. R2

  3. SKILL.md:53 method

    What must be in place: the garden command, its key and the connector the owner enabled. Re-cut at S18b onto the change record: a consultation names its change, and a question's names none. Since J-93 S2 the front names greenline's homes and commands by their nouns, their paths and commands on the skill's references page. Since J-93 S2 the front names the connector call's flags by their nouns, the flags themselves on operations.md. R3

  4. SKILL.md:76 method

    How a consultation runs: the request under an account, the calls in order and what they record. Re-cut at S18b onto the change record: a consultation names its change, and a question's names none. Since J-93 S2 the front names greenline's homes and commands by their nouns, their paths and commands on the skill's references page. Since J-93 S2 the front names the connector call's flags by their nouns, the flags themselves on operations.md. R3

  5. SKILL.md:116 method

    What a result is worth here: the repository's own instructions and decisions outrank any unit. Re-cut at S18b onto the change record: a consultation names its change, and a question's names none. Since J-93 S2 the front names greenline's homes and commands by their nouns, their paths and commands on the skill's references page. R3

  6. SKILL.md:138 method

    When a consultation fails: a relevant consultation is attempted anyway and its failure recorded, with one notice and no permission question. Re-cut at S18b onto the change record: a consultation names its change, and a question's names none. Since J-93 S2 the front names greenline's homes and commands by their nouns, their paths and commands on the skill's references page. Since J-93 S2 the front names the connector call's flags by their nouns, the flags themselves on operations.md. R3

  7. operations.md:1 method

    The title and opening: every consultation runs through one greenline connectors call garden command. Since J-93 S2 the page is the skill's references, greenline's mechanics alone. R1

  8. operations.md:17 method

    The flags every operation takes: the account or request each call names, and the other common flags. Re-cut at S18b onto the change record: a consultation names its change, and a question's names none. Since J-93 S2 the page is the skill's references, greenline's mechanics alone. R4

  9. operations.md:33 method

    A question's consultation: a recommendation that changes no file names no change, its receipts are generated like any request's, and the reply names what it took from each unit. Re-cut at S18b onto the change record, in place of an answer's planning account. Since J-93 S2 the page is the skill's references, greenline's mechanics alone. R4

  10. operations.md:40 method

    The reply: what a successful call prints and how its request handle and receipt are used. Re-cut at S18b onto the change record: a consultation names its change, and a question's names none. Since J-93 S2 the page is the skill's references, greenline's mechanics alone. R4

  11. operations.md:55 method

    The failure kinds: each kind of failure, where it comes from and what the agent does. Re-cut at S18b onto the change record: a consultation names its change, and a question's names none. Since J-93 S2 the page is the skill's references, greenline's mechanics alone. R4

  12. operations.md:81 relocate

    use-garden's homes beside its commands: the decisions book the facets derive from and the ledger guide, which its front names by their nouns since J-93 S2.

The ledger entry

greenline's ledger logs how each skill was made and changed, with a reason for each entry.

2026-10-19 2026-10-19-use-garden-three-modes

A settled fix with no open choice is named quick

The list of what triggers no read names a settled quick fix, the mode the old name fast became (J-93 S4, the reconcile of the three modes).

Authorised by
2026-10-19 The operator's card of 2026-10-19 naming the three modes, "quick, regular, careful (Recommended)": the old names and the trial step in a skill's prose are corrected by the smallest substitution
Pages it touched
SKILL.md
Rulings, R1 to R9
  1. use-garden-2026-09-26, the old chain's native entry that wrote the method under the operator's rulings of 2026-09-22 (garden is consulted when relevant without a per-lookup question, never as a duty before every edit, and one optional skill owns the instructions behind a short conditional pointer), and use-garden-answers-2026-09-28, which corrected it under the operator's ruling of 2026-09-28 that a request for a recommendation consults under a minimal recorded request; under docs/DECISIONS.md's row of 2026-09-26, the operator's word of the decoupling
  2. use-garden-2026-09-26, the old chain's native entry that wrote the method under the operator's rulings of 2026-09-22 (garden is consulted when relevant without a per-lookup question, never as a duty before every edit, and one optional skill owns the instructions behind a short conditional pointer), and use-garden-answers-2026-09-28, which corrected it under the operator's ruling of 2026-09-28 that a request for a recommendation consults under a minimal recorded request; under docs/DECISIONS.md's row of 2026-09-26, the operator's word of the decoupling; re-cut at S18b onto the change record under the operator's rulings of 2026-10-04, "cool then lock everything in", every change in every mode having one record, which replaced the execution accounts: a consultation that serves a change runs with --change, and a question's consultation names no change, as the installed ledger guide says; the operator's card of 2026-10-19 naming the three modes, "quick, regular, careful (Recommended)": the old names and the trial step in a skill's prose are corrected by the smallest substitution
  3. use-garden-2026-09-26, the old chain's native entry that wrote the method under the operator's rulings of 2026-09-22 (garden is consulted when relevant without a per-lookup question, never as a duty before every edit, and one optional skill owns the instructions behind a short conditional pointer), and use-garden-answers-2026-09-28, which corrected it under the operator's ruling of 2026-09-28 that a request for a recommendation consults under a minimal recorded request; under docs/DECISIONS.md's row of 2026-09-26, the operator's word of the decoupling; re-cut at S18b onto the change record under the operator's rulings of 2026-10-04, "cool then lock everything in", every change in every mode having one record, which replaced the execution accounts: a consultation that serves a change runs with --change, and a question's consultation names no change, as the installed ledger guide says; The operator's words of 2026-10-18 on the redesign (N-56, items 2 and 7), "we need the upstream prose upfront and references hold how to work meaning the artefacts etc" and, on the ingest procedures, "we wanna have there prose .. what we don't wanna have is there artefact system and fit them to use ours": a skill's front is the upstream prose its recipe cuts, and greenline's mechanics, where the step's work lands, its section's form, its commands and its depths at each mode, stand on its references page (J-93 S2)
  4. use-garden-2026-09-26, the old chain's native entry that wrote the method under the operator's rulings of 2026-09-22 (garden is consulted when relevant without a per-lookup question, never as a duty before every edit, and one optional skill owns the instructions behind a short conditional pointer), and use-garden-answers-2026-09-28, which corrected it under the operator's ruling of 2026-09-28 that a request for a recommendation consults under a minimal recorded request; under docs/DECISIONS.md's row of 2026-09-26, the operator's word of the decoupling; re-cut at S18b onto the change record under the operator's rulings of 2026-10-04, "cool then lock everything in", every change in every mode having one record, which replaced the execution accounts: a consultation that serves a change runs with --change, and a question's consultation names no change, as the installed ledger guide says
  5. The method items carry the old chain's native entries use-garden-2026-09-26, under the operator's rulings of 2026-09-22 that garden is consulted when relevant without a per-lookup question and that one optional skill owns the instructions, and use-garden-answers-2026-09-28, under the operator's ruling of 2026-09-28 that a request for a recommendation consults under a minimal recorded request
  6. the operator's rulings of 2026-10-04, "cool then lock everything in": every change in every mode has one record its steps write, which replaced the tickets' execution accounts, and a habit writes none of its own, the installed ledger guide saying a consultation that serves a change runs with --change and a question's names no change
  7. J-59, on the operator's words of 2026-10-09 ('okay then implement all of this'): a gist of at most twelve words on every account whose reason is stated; no text, measure or method changes
  8. The operator's words of 2026-10-18 on the redesign (N-56, items 2 and 7), "we need the upstream prose upfront and references hold how to work meaning the artefacts etc" and, on the ingest procedures, "we wanna have there prose .. what we don't wanna have is there artefact system and fit them to use ours"; and J-93 S2's finalise words of 2026-10-19, "Fast route, merged slices, parallel jobs (Recommended)": a skill's front is the upstream prose its recipe cuts, and its mechanics, where its work lands, its section's form, its depths at each mode and its commands, stand on its references page
  9. The operator's card of 2026-10-19 naming the three modes, "quick, regular, careful (Recommended)": the old names and the trial step in a skill's prose are corrected by the smallest substitution
5 earlier entries
  1. 2026-10-19 2026-10-19-use-garden-split-review-fixes

    The connector call's flags leave the front for operations.md

  2. 2026-10-19 2026-10-19-use-garden-front-and-references

    use-garden's paths and commands move to a references page

  3. 2026-10-09 2026-10-09-use-garden-gists

    Every account gets a short gist for the website

  4. 2026-10-08 2026-10-08-use-garden-recut

    Re-cut on the change record; consultations name their change

    Pages it touched: SKILL.md, operations.md

  5. 2026-10-07 2026-10-07-use-garden-recipe

    A native skill moves to its recipe, its body unchanged