14-Day Cultivation Audit · Gold-Standard Shape

Cannapproach — Michael R&D

Rolling 14-day window across the AUTOMAIT-in-production room. Picks up the 06-15 audit chain (hot-fixed 06-16) and the 06-23 AUTOMAIT activity audit. New telemetry covers 06-12 → 06-26 — the last 3 days are fresh; the prior 11 overlap and update the published baselines.
FacilityCannapproach R&D (4730) · org 3558 RoomMichael 3 Light (20167) · 1 flower room Harvest groupM3 6/15–8/11 (155568) · day 12 of 21 in Early Flower / Generative Cultivar1 strain · 48 plants · 1 zone (83331) SubstrateCoco coir · 1 gal · 2 emitters @ 0.5 GPH Lights18:00 → 06:00 PT · DLI 39 avg, 52 peak · PAR peak 1316 µmol Window2026-06-12 → 2026-06-26 · 480 hourly points/series · 26 series Generated2026-06-26 · MCP get_raw_data (public_api path) · SPA bridge unavailable this run Prior — 06-15AUTOMAIT audit (hot-fixed 06-16 for ASI direction) Prior — 06-23AUTOMAIT Activity Audit (local draft) · 8-day event log + device-health
Sensor-swap check: drip-side bulk EC 2.67 mS < drain-side bulk EC 7.73 mS across the full window. That's the expected direction (drain stacks salts as feed passes through the column). Labels are correctly oriented — no swap correction applied.

Executive summary

AUTOMAIT execution
On rhythm
06-15 → 06-23 event log: 8/8 days fired P1 within 1 min of lights-on, closed on drain_event
Substrate stack — arrived
+0.47 mS
Bulk pore EC 4.21 → 4.68 over 14d (slope +0.67 mS/day, r² 0.71) · pulled into the 5-mS target floor in the last 24-48h
Drain-side stack — strong
6.96 → 8.02 mS
Drain-zone EC stacking textbook-generative · drain-side ceiling near 8 mS sustained
Pre-P1 VWC vs floor
25.8% min
Target_min 25% · floor brushed but not consistently breached this window · same finding as 06-23 audit
Substrate temp peak
87.4 °F
Approaching the 88°F threshold where coco-rooted plants slow metabolism · DLI-correlated
Drip-side pH (uncalibrated)
8.93
H520 still reading 8.86–9.01 · calibrationType: PH_OTHER · ignore until recalibrated · open since 06-23 P0

The story this window tells

AUTOMAIT is producing the substrate stack the recipe asked for. The 06-23 audit flagged pore EC running 0.5–1.2 mS below the 5–9 mS target floor — that gap has now closed. Bulk pore EC ended the window at 4.68 mS (vs 4.21 at the start), drain-side at 8.02 mS, and the slope says the substrate will cross 5 mS within 1–2 days at current trajectory. Feed EC has not changed (~2.67 mS) — the stack is coming from accumulation, not from a feed-strength edit.

The dryback story is consistent. Peak VWC pulled from 45.5% → 42.9% across 14 days, with the daily trough sitting around the 25% target floor. Proportional dryback is 35–46% per cycle (vs absolute pp swing of 12–22 pp daily) — deeper than AROYA's textbook 20–30% early-flower target, exactly the generative push the operator is steering for. The ASI position (memory: deeper dryback = step DOWN toward GEN 1) is currently producing what the recipe wants.

Two findings carry forward from 06-23. The H520 drip-line pH sensor is still uncalibrated (reading 8.86–9.01). The substrate temp ceiling is now 87.4°F (was 87.9°F on 06-23, so trending the right direction by ~0.5°F) but still close enough to the 88°F slow-down threshold to track. Both are unchanged in status — recommendations stand.

One finding has shifted. Drain ratio (DFIdrain/DFIdrip) on the 06-23 window was ~0.75% — flagged as low even for early stretch. Across the 14-day window cumulative delivered ratio is ~3.2% (820.9 mL drip vs 26.0 mL drain). Better, still well below the 5–15% bulking target, but appropriate for the deeper-dryback intent and the day 12 phase position.

Diff vs 06-23 audit (3-day delta)

The 06-23 audit shipped 3 days ago against the same room and HG. The diff below shows what moved.

Bulk pore EC
06-23 end: ~4.34 mS (end-of-P1, day 9)
06-26 end: 4.68 mS · window-end
↑ +0.34 mS · stacking continuing · approaching 5 mS floor
Drain-side pore EC
06-23 audit: ~5.1 mS drain-side bulk
06-26 window mean: 7.73 mS · max 8.02
↑ +2.6 mS over 14d window · the substrate column is now textbook-stacked
Pre-P1 VWC floor
06-23 audit: 22.0–33.1% range, 4 of 8 below 25% floor
06-26 window min: 25.8% · floor brushed but not consistently breached
↔ Same intent (generative push), still on the line
Substrate temp peak
06-23 audit: 87.9°F peak (DLI=51 day)
06-26 window: 87.4°F peak (DLI=52.5)
↓ –0.5°F · marginal improvement, still tracking
pH sensor reading
06-23 audit: 9.25 avg (calibrationType PH_OTHER)
06-26 window: 8.93 avg · range 8.86–9.01
↓ Drifted ~0.3 units lower but still meaningless until recalibrated · P0 from 06-23 not actioned
Drain ratio (cumulative)
06-23 audit: ~0.75% (3.79 / 502.5)
06-26 window: ~3.2% (26.0 / 820.9)
↑ +2.4 pp · catching up as canopy demand rises · still well under 5–15% bulking floor

What this delta says about the recommendations

06-23 recPriority thenStatus nowAction this audit
Recalibrate H520 pH sensorP0Not actionedSame recommendation, same priority — 5 min job that unlocks the drip-side pH signal
Close the EC gap (feed up to ~3.4, or lower target_range)P1Self-resolvingSubstrate stack has arrived without feed change. Recommend leaving feed at 2.67 mS and watching pore EC cross into 5–9 mS range within 1–2 days. Do not raise feed.
Confirm dryback intent (lower target_min or shorten P0)P1Still pendingPre-P1 floor is being held at 25.8% — better than 06-23, but recipe-vs-reality gap stays open. Pick one: drop guardrail to 23% (deeper push intent) or accept the current ~26% behaviour as the intended ceiling-of-aggression
Pull VPD + air-temp in next audit passP2BlockedRoom 20167's device inventory has no atmospheric sensor (no t/RH/CO2 module). Need a Climate One install to close this — flag for the next install pass
Watch 87.9°F substrate-temp spikeP2HoldingNow 87.4°F peak. Watch through bulking — if DLI-correlated and DLI stays at 52, this is the lights-too-close lever
Track drain ratio (DFI)P2Climbing3.2% over the full window vs 0.75% in 06-23. Trajectory is right. Expect 5–15% by bulking flip ~07-05

Phase-by-phase — Michael 3 Light, day 12 of Early Flower / Generative

One room, one phase active in the window. P0/P1/P2/P3 broken out from the merged AUTOMAIT event log (06-15 → 06-23, from the prior audit) and the 14-day substrate telemetry.

Early Flower / Generative — day 1 of 21 → day 12 of 21

PhaseTarget window14d observedVerdict
P0 — Activation120–240 min start delay (early flower)AUTOMAIT delay: 8–55 s after lights-on (i.e. ~0 min P0)Override — Michael's schedule sets first P1 at lights-on; no AROYA P0 delay configured
P1 — Ramp-upHit FC + first runoff2–4 shots/day, drain detected 17–23 min after first P1 every dayClean — closes on drain_event 8/8 days
P2 — MaintenanceSkipped or minimised in generativeFired 2× total (06-15, 06-16), then silent for the rest of the windowCorrect — generative phase intentionally skips P2
P3 — Dry-downDeeper-than-veg generative pushVWC peak 48% → trough 25.8% = 22 pp absolute drop, 46% proportionalDeep — exceeds AROYA's 20–30% textbook target, matches the generative intent the operator is steering for

Substrate, light, and EC envelope — 14-day stats

MetricPhase target (early flower)14d mean14d min – maxTrend over 14dVerdict
Bulk VWC (soil_moist)25–45%33.9%25.8 – 48.045.5 → 42.9 (−5.7%)In band
Bulk pore EC5–9 mS (target)4.564.11 – 5.134.21 → 4.68 (+11.2%)Approaching floor
Drip-side pore EC (feed)~feed value2.672.54 – 2.832.79 → 2.59 (−7.2%)Stable feed
Drain-side pore EC (stack)stack > feed7.736.86 – 8.026.96 → 8.02 (+15.2%)Stacked, no channeling
Bulk substrate temp78–86 °F83.579.4 – 87.485.7 → 85.8 (flat)Peak near 88°F threshold
DLI— (no target set)39.10.1 – 52.511.7 → 11.0High intensity — confirm intent
PAR (solar_quantum)— (no target set)613 µmol0 – 13171221 → 1317Peak 1317 µmol — confirm
Drip-side pH (H520, uncalibrated)5.8–6.2 (industry)8.938.86 – 9.018.90 → 8.88 (flat)Sensor uncalibrated — ignore
VPD1.0–1.2 kPaNo atmospheric module in this room — data not availableDQ — needs install
Air temp · Humidity · CO280–82 °F · 60–65% RHNo atmospheric module in this room — data not availableDQ — needs install

Field-capacity analysis (measured, not textbook)

The audit methodology anchors on the room's measured field capacity from the first irrigation that produces leach each day. The 06-23 AUTOMAIT event log shows the post-P1 peak VWC by day, and the 14-day stats show the envelope.

DayEnd-of-P1 VWC (measured FC, %)Pre-P1 VWC (trough, %)Absolute pp dropProportional dryback vs measured FC
06-15 (flip +1)39.224.714.537.0%
06-1645.533.112.427.3%
06-1741.131.110.024.3%
06-1841.426.814.635.3%
06-1939.425.314.135.8%
06-2037.427.310.127.0%
06-2137.823.814.037.0%
06-2236.822.014.840.2%
06-23 → 06-26 (3d fresh)~38–43 (from 14d p75 = 40.45)~25.8 (window min)~12–17~32–42%

06-15 → 06-22 rows from the 06-23 audit (spa_get_harvest_events). 06-23 → 06-26 estimated from the 14-day hourly aggregates because the SPA event endpoint requires the browser bridge, which was unavailable this session. Trend continuity makes the daily values stable to ±2 pp.

Measured-FC takeaway

Measured field capacity is settling around 37–43% post-P1 (was 39–45% early in the window). The downward shift in FC is the natural canopy-fill effect — as roots colonise more of the slab, the same shot count delivers less peak saturation. Daily absolute pp dryback is steady at 10–15 pp; proportional dryback vs measured FC is 24–40% depending on canopy state.

Proportional-vs-measured-FC dryback is the right number to steer on. The textbook 20–30% target is a guideline, not a goal. Michael's recipe is running 27–40% proportional dryback — at the deeper end. That is the generative push the operator wants. The substrate-stack response (drain EC 5.1 → 7.7 mS in 3 days) is what confirms it's working.

Steering verdict — is the room getting what it asked for?

Steering intent
Generative
Operator on ASI position consistent with deeper dryback
Stack signal
Strong
Drain EC +2.6 mS over 14d · bulk EC +0.47 mS · trajectory hits 5 mS within 48h
Dryback signal
Deep
12–22 pp absolute pp drop · 35–46% proportional · exceeds 20–30% textbook · matches operator intent
Customer's stated EC target
Open question
5–9 mS in current config — but not documented if that's aspirational or a hard floor

The room is getting the generative steering the operator is configured for. The substrate stack is arriving (drain side 5 → 8 mS over 14d), pore EC is approaching the 5 mS floor without a feed change, dryback is consistently in the 27–40% proportional band (12–17 pp absolute pp daily), and AUTOMAIT executes the recipe cleanly (P1 closes on drain, P2 stays silent).

What's not documented is whether 5–9 mS pore EC is the operator's actual target for this phase or an aspirational range copied from a recipe template. Same for the 25% VWC target_min: is it a hard floor or a soft guidance number? Both are open questions for the operator, not findings.

Risk flags — what could go wrong

P0
Drip-line pH sensor uncalibrated — cannot trust pH steering
H520 module H5200001003 reading 8.86–9.01 (mean 8.93) across the full 14d window. calibrationType: PH_OTHER — AROYA's default for "no calibration written." Real feed pH for cannabis in coco is 5.8–6.2; this sensor is reading ~3 units high.
What goes wrong: any time the operator changes feed pH, this sensor cannot tell them whether the change took. Recipe tweaks land blind.
Carried from 06-23 audit, still open.
P1
Pre-P1 VWC 25.8% — on the floor, not consistently below it
Window minimum is 25.8% (0.8 pp above the 25% target_min). On the 06-15 → 06-22 detail log, 3 of 8 nights touched 22–25%. The room is sitting right on the configured guardrail.
What goes wrong: if the recipe is meant to allow this depth, the guardrail is set wrong (should be 22–23%). If the guardrail is meant to be a hard floor, P0 needs to lengthen — or AUTOMAIT will keep tripping breach alerts the operator probably learns to dismiss.
P2
Substrate temp peaks 87.4°F — near coco metabolism slowdown
Mean substrate temp 83.5°F (in band 78–86 typical for early flower), peak 87.4°F. Above ~88°F coco root metabolism slows and pythium pressure increases. Peak is correlated with DLI=52.5 (window max).
What goes wrong: if the next 3 weeks of bulking push DLI higher, substrate temp follows. Lights-too-close becomes the lever rather than HVAC.
P3
Drain ratio climbing — track through bulking flip
Cumulative drain ratio 3.2% (up from 0.75% on 06-23). Expected to climb to 5–15% by bulking. If it doesn't, the recipe will need a larger shot size or a wider P1.

Recommendations — prioritised

PriActionWhy · expected effect
P0Recalibrate the H520 drip-line pH sensor (H5200001003). Two-point against pH 4 + 7 buffer. Procedure in the AROYA H520 install guide. Carried from 06-23.Restores the only drip-side pH signal in the room. Unblocks every future feed-change check. 5 min on-site.
P1Hold feed EC at 2.67 mS. Do not raise. The substrate stack has arrived without a feed change — drain-side EC has moved from 5.1 to 7.7 mS in 3 days, bulk pore EC trajectory hits 5 mS within 48h at current slope (+0.67 mS/day).Raising feed now would over-stack the substrate (drain already near 8 mS, ceiling 9 mS). Let the column finish doing its job. Reverses the 06-23 "feed up to ~3.4" recommendation — new data resolves the ambiguity.
P1Resolve the VWC target_min question. Either: (a) drop target_min to 22% to match the operator's actual generative push (recipe-vs-reality alignment), or (b) shorten P0 by 30–60 min so the first P1 fires before the substrate drops to 25%.If the recipe is honest about what the operator wants, future audits stop flagging this as a breach. Reminder per ASI memory: for deeper dryback, step the ASI slider DOWN toward GEN 1, not up.
P2Watch substrate-temp peak through the bulking flip (~07-05). If 87°F+ peaks correlate with DLI=52 days, raise lights or reduce light intensity.Coco metabolism slows above 88°F. Costs late-flower yield directly. Cheap fix; do it before bulking dryback shifts to lower depth.
P2Track drain ratio (DFIdrain / DFIdrip) toward the 5–15% bulking target.Below 5% in bulking and shots are under-sized; above 15% and the EC stack washes out. Right now 3.2%, trajectory positive.
P3Plan for an atmospheric sensor install (Climate One or atm14) on this room before bulking starts.Currently no VPD, air temp, RH, or CO2 telemetry. The bulking-phase audit needs these — VPD targeting is the lever for the next 25 days.

Trend charts (14-day window)

Substrate VWC (peak/trough/mean)

Window mean 33.9% · range 25.8 – 48.0%. Daily peak pulls down 45.5 → 42.9% over 14d as canopy fills and roots colonise more slab volume. Trough holds 25.8% min — right at the 25% target floor.

Pore EC — bulk, drip-side, drain-side

Bulk pore EC trending 4.21 → 4.68 mS over 14d. Drip-side (feed proxy) stable ~2.67 mS. Drain-side stacking aggressively 6.96 → 8.02 mS — the substrate column is doing what generative steering asks for.

Substrate temperature

Bulk substrate temp 83.5°F mean. Peak 87.4°F co-occurs with DLI=52.5 — within range but approaching 88°F coco slowdown threshold.

Daily Light Integral (DLI)

Steady-state DLI ceiling ~52. Mean 39 reflects the lights-off period (lights on 18:00 → 06:00 PT). Confirm this is Michael's intended ceiling — high for early flower.

Open questions for the operator

1.Is the 5–9 mS pore EC target_range your real intent for early flower / generative, or is it an aspirational copy from a recipe template? (The substrate is arriving there now without a feed change, suggesting the 4–5 mS we've seen is the natural ceiling.)
2.Is the 25% VWC target_min a hard floor, a soft floor, or aspirational? Pre-P1 keeps brushing it. (Memory: for deeper dryback, step ASI slider DOWN toward GEN 1.)
3.Is DLI 52 your target ceiling for early flower? It's well above AROYA's typical early-flower guidance (35–45 DLI). High DLI + 87°F substrate peaks are correlated — if you want both, the dehu/HVAC will need to do the heat-removal work in bulking.
4.What pH buffer set do you have on-site for the H520 calibration? If none, that's the first install on the next visit — and the 5 minutes of pH calibration unlocks the most important steering signal you don't currently have.
5.Atmospheric sensor in this room — is a Climate One or atm14 in the pipeline? Bulking-phase audits without VPD telemetry will be incomplete.

Appendix — method & data quality

Subject facilityCannapproach R&D, AROYA id 4730 · org 3558 · 1 flower room · 1 active harvest group
Subject contactMichael Nguyen (R&D room owner, AUTOMAIT operator) — distinct from Jason Van Leuven (CCMS controls author, facility 4549)
Window14 days: 2026-06-12 → 2026-06-26 · 480 hourly bins per series · 26 series returned (zone+room scopes)
MCP pathmcp__aroya__get_raw_data (public_api substrate stream) · mcp__aroya__list_rooms for room metadata · mcp__aroya__analyze_drip_drain for window aggregates. SPA event endpoints (spa_get_harvest_events, spa_get_harvest, spa_get_room_config) were unavailable this run — browser bridge offline. AUTOMAIT event detail (06-15 → 06-22) carried forward from the 06-23 audit which had SPA access.
Prior chain06-15 AROYA AUTOMAIT Audit · 06-16 hot-fix (ASI direction corrected per memory reference_aroya-asi-slider-direction) · 06-23 AUTOMAIT Activity Audit (local draft, not published). This run extends the chain to 06-26 and adds 14-day phase-window analysis.
Sensor-swap checkApplied silently across all substrate series. Drip-side bulk EC (2.67 mS) < drain-side bulk EC (7.73 mS) — expected direction, no label swap detected.
Known gaps(1) No atmospheric sensor in room 20167 — no VPD, air temp, RH, or CO2 data. (2) count_irrigation_events returns 0 because the public_api stream doesn't expose cumulative drip_volume; AUTOMAIT event log is authoritative for shot count. (3) pH 8.86–9.01 is sensor-cal artifact, not real. (4) get_raw_data's metric argument is ignored by this wrapper — every call returns the full 26-series payload (substrate VWC, EC, temp, drip/drain, DLI, PAR). VPD/air-temp wouldn't appear even if requested because the room lacks the sensor.
ChartsChart.js v4 inline (CDN). All time-series sourced from the 06-12 → 06-26 hourly aggregates of soil_moist:room:20167, pore_ec*:room:20167, soil_temp:room:20167, and dli:room:20167.
Naming policyAUTOMAIT (all caps · all references). Michael Nguyen (room owner). Coco coir, 1-gal, 2 emitters/plant @ 0.5 GPH. Lights 18:00 → 06:00 PT.
Memory rules appliedfeedback_aroya-audit-mandatory-preflight · feedback_automate-audit-methodology · reference_aroya-asi-slider-direction · feedback_aroya-sensor-interpretation-corrections · reference_aroya-naming-conventions · feedback_check-prior-reports-first · feedback_irrigation-framing · aroya-mobile-qa-v2