# Tender Parking Protocol

# Tender Parking Protocol

**Owner:** John (ALAI Holding)
**Updated:** 2026-04-17
**Decision:** Alem, 2026-04-17 11:30 CEST

## Policy

Tenders auto-ingested from TED/Mercell are NOT auto-worked. They are **parked by default** and selectively reactivated when:

1. **Strategic fit** — deadline ≥ 14 days, budget signal matches ALAI capacity, domain alignment (fintech / AI services / ICT consulting)
2. **Capacity window** — team has open slot AND no higher-priority client work
3. **Explicit CEO trigger** — Alem escalates a specific notice to "live" state

Tenders are **never auto-closed** — one of them will activate eventually.

## State model

```
[TENDER] ingested (open, H priority)
    │
    ├─── Alem picks → resume → assign to Proxima/Lexicon → lead
    │
    └─── Capacity window expires → paused (parked)
```

Paused tenders retain all their metadata (TED link, Mercell URL, deadline, score). No information lost.

## Bulk operations

```bash
# Park ALL open tenders in one pass
for id in $(node ~/system/tools/mc.js list --status open 2>&1 | grep -iE "\[TENDER\]" | grep -oE "^#[0-9]+" | tr -d '#'); do
  node ~/system/tools/mc.js pause $id --reason "Parkirano — tender-parking-protocol.md" --actor alem
done

# Count paused tenders
node ~/system/tools/mc.js list --status paused 2>&1 | grep -cE "\[TENDER\]"

# Reactivate a specific tender
node ~/system/tools/mc.js resume <id> --actor alem
node ~/system/tools/mc.js priority <id> H
```

## Reactivation criteria (selection checklist)

When deciding which parked tender to resume:

- [ ] **Deadline** — at least 14 calendar days remaining
- [ ] **Score** — ≥ 80/100 from tender-hunter scoring
- [ ] **Fit** — matches ALAI services (AI development, ICT consulting, fintech, Next.js/Kotlin stack)
- [ ] **Language** — Norwegian/English (we cannot bid in Danish/Swedish without partner)
- [ ] **Entity eligibility** — ALAI Holding AS has required certifications (or we can partner)
- [ ] **ROI estimate** — potential contract value > 200k NOK (below that, proposal cost eats margin)

If 4+ ✓ → resume. If < 4 ✓ → leave parked or close permanently.

## Historical snapshot — 2026-04-17 mass parking

54 [TENDER] tasks parked in one operation at 11:30 CEST. All entries carry notice IDs and TED/Mercell links in their description. Sample:

- #6872 Stavanger kommune — Notice 151037-2026
- #6992 Fiskeridirektoratet — ICT security (Safety consultancy)
- #7052 Oslo Kommune — ICT consultants framework
- #7055 Helse Sør-Øst RHF — Notice 163460-2026
- (full list: `node ~/system/tools/mc.js list --status paused | grep "\[TENDER\]"`)

## Ownership

- **Tender-hunter bot** — ingests, scores, files as [TENDER] tasks in MC
- **Proxima** — writes proposal content once tender is reactivated
- **Lexicon** — legal review (compliance, AML, terms)
- **John** — coordinates lead creation, drafts response

## Related

- `~/system/docs/hive-activation-2026-04-17.md` — event bus that feeds tender-hunter signals
- `~/system/docs/runbooks/pipeline-review.md` (if exists) — weekly pipeline review ritual

## Cross-links

- **Tender intake code:** `~/system/tools/tender-hunter.js` (if exists — search via discover.js)
- **Slack #exec** channel — HOT TENDER alerts fire here daily

## Change log

- 2026-04-17: initial protocol, 54 tenders parked.