Task Generation

The tasks you
wouldn't have written.

Stop guessing the work in a spreadsheet. Panaptico reads the stack, surfaces the gaps, and ships a sequenced task list — each with exit criteria, evidence requirements, and owners wired in from day one.

kickoff-tasks.xlsx · Row 28Thin

Task

Rotate KMS keys

Owner

TBD

Due

?

Done?

?

Written from memory. No context, no dependencies, no exit criteria, no evidence. Three months later someone checks it off because the sprint ended.

TASK-0412Enforce KMS auto-rotation on 14 finance-domain CMKs
Ready · Wave 2

Environment context

  • 14 of 18 finance CMKs have rotation disabled
  • 3 keys referenced by 28 Databricks jobs · 1 by Secrets Manager
  • Last rotation: 412 days ago (oldest)
  • SOC2 CC6.7 · ISO 27001 A.10.1.2 in scope
AWS KMS
Databricks

Dependencies

TASK-0408Snapshot Databricks secret references
TASK-0410Confirm Secrets Manager key usage
TASK-0411Open CHG-00582 · auto-rotation window

Owner

IAImplementation Agent

Window

Wave 2 · 2026-05-04 02:00 UTC

Exit criteria

  • All 14 CMKs have auto-rotation = enabled · period 365d
  • 0 rotation failures across 48h post-change bake
  • 28 dependent Databricks jobs re-run green
  • CloudTrail event captured for every key update

Evidence required

KMS ListKeys snapshot · pre + post
CloudTrail RotateKey events · 14 rows
Job-run telemetry · 28 jobs · 48h
CHG-00582 approval chain

Surfaced from env · traces to AWS + Databricks + ServiceNow

Confidence 98% · 2,840 facts

The gap

Task lists built
from memory.

Implementation tasks are usually created by a PM guessing in a spreadsheet — based on past experience, vendor docs, and whatever the last consultant remembered. Critical prerequisites get missed. Phases are out of order. Nobody realizes a dependency exists until it blocks the entire project two months in.

1

Tasks are vibes

'Rotate KMS keys.' Which keys? Whose? What about the 28 jobs reading from them?

2

Order is guessed

Dependencies get remembered late — usually when someone's blocked in a standup at week six.

3

'Done' means nothing

A task completes when the sprint ends. No exit criteria, no evidence, no way to audit it next quarter.

Gap detection

Tasks you didn't know you needed.

Human list · Q2 kickoff
8 tasks
  1. 01Migrate finance identities to Workday
  2. 02Rotate KMS keys
  3. 03Update SCIM for Salesforce
  4. 04Re-test SSO flows
  5. 05Close orphaned Okta groups
  6. 06Drop legacy Okta IdP
  7. 07Update runbook
  8. 08Notify finance ops

Written from memory · missing dependencies, prerequisites, evidence

Surfaced by Panaptico
+16 tasks
  1. NEW

    TASK-0407Reconcile 84 ambiguous role mappings

    Workday org tree has 84 roles with no unambiguous Okta group counterpart

    Workday
    Okta
  2. NEW

    TASK-0409Re-federate 18 SAML apps with Okta-signed metadata

    18 apps still trust Okta-signed metadata — will break on IdP cutover

    Okta
  3. NEW

    TASK-0412Enforce KMS auto-rotation on 14 finance CMKs

    14 keys have rotation disabled — referenced by 28 Databricks jobs

    AWS
    Databricks
  4. NEW

    TASK-0414Revoke 42 stale Databricks service principals

    42 SPs last used > 90d — flagged against IAM hygiene policy

    Databricks
  5. NEW

    TASK-0418Migrate 11 Jenkins pipelines off Okta OIDC

    Pipelines authenticate via the IdP being decommissioned

    Jenkins/GitHub
    Okta
  6. NEW

    TASK-0421Provision Workday SCIM endpoint in Slack Enterprise

    Slack currently SCIMs from Okta — needs Workday-as-IdP path before cutover

    Slack
    Workday
  7. NEW

    TASK-0424Update 6 GitHub team/role bindings

    6 teams reference Okta group IDs that will deprecate — SAML attr rebind needed

    GitHub
  8. NEW

    TASK-0428Add posture-check rule to CF Access for Finance apps

    CrowdStrike tag 'finance-critical' applies to 3,412 endpoints but isn't gated

    Cloudflare
    CrowdStrike

8 more below the fold · each traces to a specific condition in your stack

Phased sequencing

Phases computed,
not negotiated.

Tasks fall into waves based on their prerequisites in the graph. Exit gates close a wave before the next one starts. Critical path is measured.

PLAN-0491 · sequencing4 phases · 11 tasks shown · 25 off-chart
Critical path 34d
Foundation
Pilot
Finance core
Long-tail
T1Snapshot Okta tree
T2Map 1,182 apps
T3Diff Workday org
T4Resolve 84 ambiguous roles
T5Trust Workday IdP
T6Cutover cohort A
T7KMS auto-rotation
T8Re-federate 18 SAML apps
T9Cutover Finance Ops
T10Close legacy IdP
E1Archive evidence bundle
DoneActiveBlockedPendingExit gate · each phase requires evidence-bundle signature

Exit criteria & evidence

“Done” is a signature,
not a checkbox.

Every phase has exit criteria tied to measured conditions, and every criterion has an evidence artifact. When the phase closes, the bundle is sealed and routed into the audit trail.

PHASE-02 · Pilot exit5 / 6 met

240 pilot users signed in via Workday IdP · 48h bake

Okta audit · 240 success / 0 fail

0 SAML failures across 184 federated apps

SAML probe · 184 apps · green

14 KMS CMKs have rotation = enabled

AWS KMS ListKeys · post-snapshot

Change record CHG-00582 approved & closed

ServiceNow · CHG-00582 · ratified

All 28 dependent Databricks jobs re-ran green

Databricks job telemetry · 28 / 28

Device-posture passthrough verified on CF Access

Pending · workaround documented in INT-0074-R2

Evidence bundleDR-2026-0491 · sealed
okta-audit-pilot.json1.2MB
kms-pre-post.jsonl284KB
job-telemetry-28.csv14KB
CHG-00582.pdf42KB
posture-probe-trace.json186KB

sha256 · 4a12…e8d3 · signed 2026-04-21 18:04Z

Stop writing tasks from memory.

Let Panaptico read the stack, surface the gaps, and ship a sequenced task list you can actually defend.