Skip to content

Quality and Readiness

Two questions follow you through every memo: is this section good enough? and is the whole document ready to put in front of the committee? Memosa answers the first with Quality Intelligence — quality signals it gathers from your ratings and your edits — and the second with a single Document Readiness score that rolls everything into a 0-100 grade and points you at the weakest, stalest, and missing parts.

Quality Intelligence: how a section earns its score

Section titled “Quality Intelligence: how a section earns its score”

Memosa scores section quality from two kinds of signal:

  • Explicit signals — the ratings you (and your collaborators) give a section directly.
  • Implicit signals — what your editing behavior reveals. A section that gets heavily rewritten is telling you something different from one that ships almost untouched, and Memosa reads edit volume and the kinds of edits as a quality signal.

These signals aggregate per section and accumulate across deals of the same type and asset class, so the system’s sense of what “good” looks like for, say, a multifamily risk section sharpens over time. The aggregated signal also feeds quality trends (is a section improving, stable, or declining over successive revisions) and per-user expertise tracking — but for day-to-day work, the part you act on is the readiness score below.

Document Readiness: one score for the whole memo

Section titled “Document Readiness: one score for the whole memo”

The Document Readiness score combines the per-section quality signals with approval status, content completeness, freshness, model integrity, and decision coverage into a single 0-100 score with an A–F letter grade. It runs with no LLM calls — it composes already-cached signals — so it’s fast and you can refresh it on demand.

The overall score is a weighted blend of six dimensions, whose weights sum to exactly 1.0:

DimensionWeightWhat it measures
Quality0.30 Average per-section quality score across the memo.
Completeness0.25 Whether the expected sections are present and have enough content.
Approval0.20 How many of the required sections have been approved.
Freshness0.10 How recently sections were edited (stale sections drag this down).
Model integrity0.05 The trustworthiness of the parsed Excel model behind the numbers.
Decision coverage0.10 Whether the memo’s charts answer the canonical IC decision questions.

The 0-100 score maps to a letter grade on these thresholds: A at 85 and above , B at 70, C at 55, D at 40, and F below 40. The same scale is used for individual section grades, so a section graded B and a document graded B mean the same thing.

A readiness snapshot is built to be actionable — it doesn’t just hand you a number, it tells you where to spend your remaining time. Alongside the overall score and grade, it surfaces:

  • Weakest sections — the three lowest-scoring sections, by score, so you know where polish pays off most.
  • Stale sections — sections that haven’t been touched recently. A section counts as stale once it has gone unedited past the freshness threshold of 48 hours .
  • Missing sections — expected sections that aren’t present in the memo at all.

It also reports how many sections are scored, how many are approved, the model-integrity assessment, and — once synthesis has run — the decision-coverage grade and a count of any critical IC decision questions left uncovered.

Readiness is cached for five minutes and recomputed on demand. Viewing the score needs only the Viewer role; refreshing it (a forced recompute that bypasses the cache and broadcasts the update to everyone on the deal) requires the Editor role.

The score is a checklist in disguise. To move it up:

  1. Fill the missing sections. A present section beats an absent one on completeness, and an absent expected section can’t be approved or scored.
  2. Refresh stale sections. Revisit anything flagged stale — even a deliberate confirming edit resets its freshness and lifts that dimension.
  3. Strengthen the weakest sections. Work the bottom-three list first; that’s where the quality dimension moves fastest. A Deep Brush audit is a good way to find what a weak section is missing.
  4. Approve what’s done. Approving finished sections directly lifts the approval dimension — and approval is what unlocks exports (see the approval gate).
  5. Close decision-coverage gaps. If a critical IC question is flagged uncovered, that usually means the chart that would answer it isn’t present — see charts for how decision questions map to charts.

Work the list, refresh the score, and the grade climbs.

  • src/intel/readiness/readiness_service.pyDocumentReadinessConfig (the six weights: quality 0.30, completeness 0.25, approval 0.20, freshness 0.10, model_integrity 0.05, decision_coverage 0.10; the 48-hour stale threshold; the 5-minute cache), _compute_grade (A≥85 / B≥70 / C≥55 / D≥40 / F), and the snapshot fields for weakest / stale / missing sections plus redistribute-on-None for conditional dimensions.
  • src/canvas/routes/quality_score_routes.py — the GET /canvas/{deal_id}/readiness endpoint (Viewer role) and POST .../readiness/refresh (Editor role, broadcasts READINESS_UPDATED).
  • src/intel/quality/signal_aggregator.py — cross-deal aggregation of explicit and implicit quality signals keyed by deal type, asset type, and section.
  • memory/chart_decision_coverage.md — the decision-coverage dimension that feeds readiness and the canonical IC question catalog.