Lawful cannabis cultivation · evidence before certainty

Turn crop reality into the next defensible operating state.

CanopyOps is an installable AI skill for cannabis cultivation leaders, agronomists, crop steering teams, quality staff, and compliance operators. It structures room data, observations, facility constraints, and unresolved questions into reviewable plans, incident workups, calculations, CAPA, runbooks, and handoffs.

Advisory decision support · Human authority stays explicit · No direct equipment control

A clean controlled-environment cultivation room with orderly crop rows, irrigation infrastructure, sensor equipment, and cool inspection light across the canopy.

Product fit

Operational memory without counterfeit authority.

Use CanopyOps when the job is to organize evidence, reproduce a calculation, preserve competing explanations, name an approval gate, or hand a decision to the next accountable human.

Built for

  • licensed and otherwise lawful cultivation teams;
  • crop planning, environmental review, root-zone reasoning, harvest readiness, CAPA, and handoffs;
  • work that benefits from visible assumptions, units, owners, evidence gaps, and reopen conditions.

It can

  • draft plans and operating records from supplied context;
  • calculate VPD, DLI, irrigation, runoff, dryback, EC, pH, and normalized units transparently;
  • produce readable Markdown, CSV, and JSON artifacts from included templates.

It cannot

  • authorize pesticides, setpoints, release, disposal, compliance filings, or emergency actions;
  • replace facility SOPs, labels, current jurisdiction sources, qualified laboratories, or licensed professionals;
  • control equipment, prove sensor accuracy, guarantee field outcomes, or turn a recommendation into approval.

CanopyOps preserves nine states: observed → measured → calculated → assumed → interpreted → recommended → approved → executed → verified.

Current delivery · v0.3.1

Open the crop desk or install the complete skill.

The portable crop workspace keeps observations, comparisons and records together. This update adds product icons and optional desktop entries. A plugin is not required.

Historical native plugin and earlier portable releases retain their original identity. Native Mac launch, fresh-host activation and field outcomes remain unverified.

Installation

Choose the entry that fits your work.

Keep operational records outside the product directory. Extract into a new directory and keep your existing record store when updating.

LOCAL CROP DESK

Open in your browser

Download and extract the current ZIP. With Python 3.10+ installed, run python tools/verify_release.py . from the extracted root. Require "ok": true and no findings.

Open the launcher under codex/canopyops/skills/canopyops/workspace/. The workspace guide explains choosing your external record store and recognizing a successful opening.

OPTIONAL DESKTOP ENTRY

Keep your desk within reach

The included workspace/create_entry.py creates a Windows shortcut or portable Mac app using an existing desktop directory, an explicit external store and a positive port. It refuses to replace an existing entry. Follow the complete workspace procedure before creating it.

CODEX · COMPLETE SKILL

Use CanopyOps in your agent

Copy the entire extracted codex/canopyops/skills/canopyops/ directory into your host's configured skill location. Keep all supporting folders beside SKILL.md, then start a fresh task and check discovery.

CLAUDE · COMPLETE SKILL

Use the supplied skill archive

The bundle includes claude/canopyops-v0.3.1.zip. Follow its Claude installation guide and your host's current controls. Upload, discovery, invocation and successful work are separate observations; live activation remains unverified here.

Verify discovery, then reach first value

Begin with a bounded fictional incident.

Start a fresh task or conversation after installation. Explicitly invoke CanopyOps if the host supports it, then keep discovery evidence separate from output quality.

DISCOVERY CHECK

Use CanopyOps to outline the evidence you would need before reviewing a fictional late-flower cannabis humidity excursion. Do not diagnose or recommend operational changes yet.

A discovered CanopyOps skill should request facility context, crop stage, duration, sensor location and method, approved-target source and tolerance, observations, prior conditions, equipment state, and accountable authority.

FIRST COMPLETE WORKUP

Use CanopyOps for a fictional licensed cultivation facility. A late-flower room held 27 C and 78% RH for 42 minutes overnight. One wall sensor recorded the excursion; its calibration status and exact canopy position are unknown. The active target is 25 C and no more than 60% RH, but I have not supplied the approved source or tolerance. Build a provisional incident workup and record. Preserve competing explanations, separate reversible containment from cause-specific correction, identify evidence that would change the next decision, and do not claim that any setting was approved or changed.

What a useful answer should contain

  • missing measurement and authority context, not fake certainty;
  • several live explanations rather than one favored diagnosis;
  • reversible containment separated from cause-specific correction;
  • named inputs, evidence gaps, owners, approval gates, and reopen conditions;
  • an explicit status such as provisional or awaiting authority.

Representative workflows

Enter through the live cultivation need.

Inputs may be prose, tables, logs, CSV, JSON, approved documents, measurements, images supplied for interpretation, or existing operating records. Outputs are drafts for inspection, not silent execution.

01

Crop planning

Inputs: facility limits, crop stage, cultivar evidence, targets, labor, measurement methods.

Outputs: crop plan, room runbook, risk register, open-decision list.

02

Diagnostics and incidents

Inputs: observations, logs, spatial pattern, timeline, equipment state, prior actions.

Outputs: incident workup, evidence gaps, containment, decision record, CAPA.

03

Environment and root zone

Inputs: temperature, RH, leaf temperature, light, irrigation, substrate, runoff, EC, pH.

Outputs: transparent calculations, comparison tables, method caveats, next measurement.

04

Harvest and quality

Inputs: readiness observations, sample methods, drying conditions, laboratory evidence, holds.

Outputs: harvest-readiness review, drying log, hold list, release-preparation brief.

05

Compliance and handoff

Inputs: facility SOPs, labels, current jurisdiction sources, named owners, approvals, deadlines.

Outputs: compliance-verification brief, cultivation decision, crop walk, shift handoff.

06

Review and release

Inputs: completed artifact, evidence ledger, unresolved conditions, approval and verification records.

Outputs: review findings, status, blocked conditions, named next owner; never automatic release authority.

Configuration and methods

No magic settings file.

Ordinary reasoning requires no CanopyOps account, API key, or product configuration file. The meaningful configuration is the operating context you supply: facility, room, crop stage, units, sensor method and location, time window, approved targets and tolerances, applicable SOPs, jurisdiction, owners, and authority.

Python

Optional for ordinary reasoning; required for bundled deterministic utilities and the portable v0.1.7 verifier. Repository-native utilities use the Python standard library.

Sources

Facility SOPs, emergency procedures, current labels, current jurisdiction sources, laboratory evidence, and equipment documentation outrank model memory.

Records

Keep facility and crop records in an approved workspace outside the installation tree. CanopyOps does not create backups or manage retention for you.

Troubleshooting, recovery, and cleanup

Repair the state you actually observed.

Not discovered

Confirm the final path ends in canopyops/SKILL.md, the complete package is present, and stale duplicates are disabled. Start a fresh task or restart the host once.

Missing references or tools

Reinstall the complete matching package. If a script is unavailable, confirm Python 3 and the specific workspace permission; otherwise use the documented manual fallback and label it unverified.

Portable verification fails

Stop. Compare the detached checksum, discard the failed extraction, extract again into a clean directory, and continue only after the verifier returns no findings.

Update safely

Identify the installed line, preserve records outside it, replace the complete matching package, start fresh, repeat discovery, and rerun the appropriate verifier. Never overlay v0.1.7 onto v0.1.5.

Remove and clean up

Remove the plugin through the host, or remove the complete installed skill directory. Disable or delete Claude.ai uploads. Archive or delete extracted packages under your retention policy.

Recover records

If records were wrongly stored inside the install tree, stop changes, preserve what remains, restore from your already-established backup or version history, and move recovered records outside the package. Never invent missing operational records.

Removing CanopyOps does not delete artifacts stored elsewhere. CanopyOps itself does not back up, synchronize, or clean those records.

Privacy, network, security, and authority

Local package. Host-governed execution.

01CanopyOps includes no account, telemetry, analytics, hosted service, connector, MCP server, hook, or automatic network request.

02Your AI host and any tools or sources you choose may have their own network, retention, logging, permission, and model-provider behavior.

03Do not put credentials, employee data, license identifiers, security controls, proprietary recipes, precise inventory, or unredacted compliance records in public issues.

04Approve only the specific workspace file, bundled script, or current source lookup needed for the current job.

05Emergency procedures, life-safety controls, labels, facility SOPs, and accountable human authority always outrank CanopyOps.

Validation and provenance

Know exactly what passed.

The current repository suite contains 21 deterministic tests for calculations, validation, package parity, version custody, documentation reachability, release-story consistency, and Pages-local assets. The portable v0.1.7 bundle has its own verifier for package structure and byte custody.

Constructed

The source, plugin, portable bundle, templates, scripts, schemas, examples, and documentation are present.

Statically verified

Repository tests and the portable verifier can check recorded structure, links, relationships, checksums, archive membership, and parity.

Not thereby proven

Fresh-host installation, host discovery, invocation, tool execution, useful behavior, field fitness, legal correctness, regulatory currency, or customer outcomes.

Historical v0.1.5 evidence remains historical. Portable v0.1.7 evidence applies only to the exact package objects it names. Current documentation review evidence is bound to its recorded content fingerprint.

Support, contribution, and rights

Use the right route for the problem.

For a reproducible product defect, open a GitHub issue with sanitized inputs, expected and actual behavior, distribution line, version, host, and exact error. For an active alarm or life-safety event, use facility emergency procedures—not repository support.

Support

Read the troubleshooting guide first, then report a minimal sanitized reproduction.

Support policy

Contribute

Preserve evidence states, safety boundaries, source custody, package-line separation, and deterministic verification.

Contribution guide

License and identity

Authored Augment material uses CC-BY-ND-4.0; Python, tests, and machine-readable schemas use MIT. Marks remain governed separately.

License · Trademarks