Skip to content

[comp] Production Deploy#3461

Merged
tofikwest merged 2 commits into
releasefrom
main
Jul 20, 2026
Merged

[comp] Production Deploy#3461
tofikwest merged 2 commits into
releasefrom
main

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

This is an automated pull request to release the candidate branch into production, which will trigger a deployment.
It was created by the [Production PR] action.


Summary by cubic

Adds the ISMS Monitoring & Measurement document (ISO 27001 clause 9.1) with a metrics register, seeded defaults, measurement history, export, and UI, including overdue signals and bulk entry. Implements new DB models and export/support flows to satisfy Linear CS-723.

  • New Features

    • New ISMS document type: monitoring (9.1), included in setup, generation order, snapshot, and export.
    • Nine default metrics seeded idempotently by key; customer edits are preserved; seeded rows can be deactivated (custom metrics can be deleted).
    • Metric CRUD and append-only measurements, plus a transactional bulk endpoint for “Metrics due”/backfill; measurements do not invalidate approval, edits do.
    • Clause-9.1 submit gate: require at least one active metric and a cadence on every active metric; mirrored client-side.
    • Period math utilities (monthly/quarterly) for due/overdue and gaps; overview shows “Metrics overdue” count.
    • Monitoring UI: inline edit, activate/deactivate, delete (custom), bulk entry grid with “same as last period,” per-metric history with CSV export, and SPO fallback for unassigned monitor/analyze.
    • Export: resolves monitor/analyze names and current values, freezes extras in the version snapshot; wide table renders in both jsPDF and docx.
  • Migration

    • Run DB migrations to add IsmsMetric/IsmsMeasurement and the monitoring document type.
    • Optional: re-run seed to add the monitoring template; documents also provision via definition fallback if templates are missing.
    • No config changes required; seeded metrics are created on generate/regenerate and never overwrite customer edits.

Written for commit 585e162. Summary will update on new commits.

Review in cubic

github-actions Bot and others added 2 commits July 20, 2026 22:01
…3460)

* feat(isms): add monitoring & measurement register with clause 9.1 document (CS-723)

Adds the 8th ISMS document type 'monitoring' (ISO 27001 Clause 9.1):

- IsmsMetric + IsmsMeasurement models; nine seeded default metrics
  (seed-if-missing by metricKey, never destructive)
- Measurements are append-style timestamped records: recordedAt and
  enteredById are server-set and immutable, so backfilled entries for a
  historical period visibly carry their true recording date
- Recording values does not invalidate document approval; metric field
  edits do
- Generic register CRUD ('metrics' + 'measurements') plus a transactional
  bulk endpoint for the one-save Metrics-due / backfill views
- Pure period math (metric-periods.ts): monthly/quarterly period keys,
  missing-period listing, and the most-recent-period overdue signal
- Clause 9.1 submit gate (>=1 active metric, cadence on every active one)
  enforced inside the submitForApproval transaction
- Document export: Purpose / Scope / metrics table (people + current value
  resolved and frozen per published version) / Analysis / Sign-off
- resolveDocumentPlans now merges definition fallbacks for types missing a
  seeded template, so a newly shipped type provisions before the template
  seed re-runs

* feat(app): add isms monitoring page with metrics due, backfill, and history (CS-723)

Compliance > ISMS > Monitoring, the clause 9.1 register UI:

- Metrics register with the nine seeded defaults: inline edit, deactivate/
  reactivate (the honest remove for seeded metrics), delete for custom ones
- 'Metrics due' one-save bulk entry across every due and overdue period,
  with per-row 'Same as last period'; the same grid serves per-metric and
  cross-metric backfill (backfilled values keep today's recorded-on date)
- Measurement history per metric with visible period gaps, manual record
  form for corrections, and CSV export for auditor sampling
- Overdue signal (visual only) on metric rows and a 'Metrics overdue' tile
  on the ISMS overview, fed by ensure-setup
- Clause 9.1 submit gate mirrored client-side (disables Submit with the
  reason); period math mirrored from the API in monitoring-periods.ts

---------

Co-authored-by: Tofik Hasanov <annexcies@gmail.com>
Co-authored-by: Tofik Hasanov <72318342+tofikwest@users.noreply.github.com>
@vercel

vercel Bot commented Jul 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
app (staging) Ready Ready Preview, Comment Jul 20, 2026 10:53pm
comp-framework-editor (staging) Ready Ready Preview, Comment Jul 20, 2026 10:53pm
portal (staging) Ready Ready Preview, Comment Jul 20, 2026 10:53pm

Request Review

@claudfuen

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 3.105.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants