Metadata-Version: 2.4
Name: lazyuvm
Version: 1.9.1
Summary: Local-first Git-native verification evidence layer for RTL projects, EDA reports, and CI review.
Author: LazyUVM contributors
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/jeonghunx/LazyUVM
Project-URL: Repository, https://github.com/jeonghunx/LazyUVM
Project-URL: Issues, https://github.com/jeonghunx/LazyUVM/issues
Keywords: rtl,systemverilog,uvm,verification,verification-knowledge,eda
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# LazyUVM

[![LazyUVM checked](https://github.com/jeonghunx/LazyUVM/actions/workflows/lazyuvm.yml/badge.svg)](https://github.com/jeonghunx/LazyUVM/actions/workflows/lazyuvm.yml)
[![PyPI release](https://img.shields.io/badge/PyPI-1.9.1-blue)](https://pypi.org/project/lazyuvm/1.9.1/)

Latest release: [v1.9.1](https://github.com/jeonghunx/LazyUVM/releases/tag/v1.9.1) |
PyPI: [lazyuvm 1.9.1](https://pypi.org/project/lazyuvm/1.9.1/)

Turn existing EDA reports into local PR evidence, and catch stale requirement
evidence before merge.

LazyUVM is a local-first Git-native verification knowledge layer for teams that
want reviewable evidence without replacing their simulator or sign-off flow.

![LazyUVM static report bundle overview](docs/assets/lazyuvm-report-bundle-overview.png)

```bash
pip install lazyuvm
lazyuvm demo quickstart
```

Already have a coverage report?

```bash
lazyuvm pilot evidence \
  --coverage-report reports/vcs_urg.txt \
  --config lazyuvm.toml \
  --out LazyUVM_Report
```

That writes local Markdown/JSON evidence plus `LazyUVM_Report/index.html`.
It is artifact-only, warning-first, redacts local paths by default, and does not
edit `lazyuvm.toml`.

## What It Is

LazyUVM is a sidecar evidence layer for RTL verification workflows:

```text
existing EDA output
  -> local LazyUVM JSON / Markdown / HTML evidence
  -> PR review, CI artifacts, onboarding, and stale-evidence checks
```

It keeps requirement/spec/register/behavior/coverage/waiver traceability in
reviewable local files instead of a hidden spreadsheet or private dashboard.

LazyUVM is not a simulator.

LazyUVM is not a vManager replacement.

LazyUVM is not sign-off verification.

It makes VCS, Xcelium, Questa, Verilator, vManager, LCOV, and internal-script
outputs easier to review in Git and CI. The enterprise flow stays in place.

## Why Use It

- **Review without opening huge logs.** Coverage holes, waivers, packs, and
  requirements become local PR artifacts.
- **Keep verification memory in Git.** `lazyuvm.toml` records requirement source,
  owner, revision, and linked coverage/assertion/waiver evidence.
- **Catch stale evidence early.** Spec changed. Did verification follow?
  A green regression is useful, but it is not enough evidence by itself.

The report bundle includes a **Stale Evidence Focus** section before the raw
requirement map. It highlights cases like:

```text
requirement: revB
coverage: revA
assertion: missing
owner: system
next action: DV owner must review coverage update
```

That is the core question:

```text
Spec changed. Regression still green. Which evidence followed?
```

## 10-Minute EDA/CI Pilot

Try LazyUVM beside your current flow first. Do not change merge gates or sign-off
processes on day one.

```bash
lazyuvm pilot evidence \
  --coverage-report reports/vcs_urg.txt \
  --config lazyuvm.toml \
  --out LazyUVM_Report
```

The command runs:

```text
coverage parse -> gate -> req trace/doctor/draft -> report bundle
```

The output path is local:

```text
LazyUVM_Pilot_Evidence/
LazyUVM_Report/index.html
```

See [docs/pilot_evidence_command.md](docs/pilot_evidence_command.md) for the
full command boundary.

## Requirement Drafts

Do not start by hand-writing every requirement record. Generate a draft, review
it, then copy only approved entries into Git.

```bash
lazyuvm req draft \
  --spec-trace-json LazyUVM_Spec_Trace.json \
  --gate-json LazyUVM_Gate.json \
  --eda-report-json LazyUVM_EDA_Report.json \
  --out LazyUVM_Requirement_Draft.toml

lazyuvm req draft-review \
  --draft LazyUVM_Requirement_Draft.toml \
  --out LazyUVM_Requirement_Draft_Review.md
```

`req draft` emits review-only candidates such as `owner = "TODO"` and
`revision = "TODO"`. It uses local evidence, does not infer private PDF
contents, and does not edit project files. The schema is
`lazyuvm.requirement_draft.v1`.

`req draft-review` reports missing owner, missing revision, linked evidence
counts, and candidates that need human review. The schema is
`lazyuvm.requirement_draft_review.v1`.

Use `lazyuvm req doctor` after reviewed requirements exist:

```bash
lazyuvm req doctor --config lazyuvm.toml
lazyuvm req doctor --config lazyuvm.toml --json --out LazyUVM_Requirement_Doctor.json
```

The first v1.8 requirement map focuses on requirement source, owner, revision,
and linked coverage/assertion/waiver evidence, so stale-evidence review starts
from a small Git-friendly record instead of a hidden spreadsheet.

v1.9 adds `lazyuvm.requirement_issue_taxonomy.v1`, so doctor warnings can be
grouped as missing owner, missing revision, orphan requirement, stale coverage,
stale assertion, or stale waiver while keeping the older warning codes stable.
v1.9.1 also groups doctor issues by owner/team, so reviewers see who should
look first without turning the report into a sign-off or blame system.

Docs:
[docs/requirement_draft_workflow.md](docs/requirement_draft_workflow.md),
[docs/requirement_draft_review.md](docs/requirement_draft_review.md),
[docs/requirement_issue_taxonomy.md](docs/requirement_issue_taxonomy.md),
[docs/requirement_ownership.md](docs/requirement_ownership.md),
[docs/requirement_map_v1_draft.md](docs/requirement_map_v1_draft.md),
[docs/requirement_stale_scenario_demo.md](docs/requirement_stale_scenario_demo.md),
[docs/stale_evidence_for_beginners.md](docs/stale_evidence_for_beginners.md),
[docs/v1.8_readiness_checklist.md](docs/v1.8_readiness_checklist.md).

## Feedback

Have private-company workflow feedback but do not want to open a public GitHub
issue? Use the [anonymous workflow feedback form](https://tally.so/r/9qxLE5).
No login is required, contact is optional, file uploads are disabled, and
anonymized workflow shape is enough.

Useful feedback:

- which EDA report family you tried;
- who owns the requirement when the spec changes;
- where verification evidence can go stale;
- whether the report made review faster or confusing;
- what would make a warning-first pilot safe to try.

Docs:
[docs/anonymous_feedback_form.md](docs/anonymous_feedback_form.md),
[docs/pilot_feedback_request.md](docs/pilot_feedback_request.md),
[docs/pilot_feedback_summary.md](docs/pilot_feedback_summary.md),
[docs/anonymized_requirement_feedback.md](docs/anonymized_requirement_feedback.md),
[docs/v1.7_eda_ci_pilot_hardening.md](docs/v1.7_eda_ci_pilot_hardening.md).

## Docs

The full documentation index is [docs/README.md](docs/README.md). Start here:

| Goal | Link |
| --- | --- |
| Install | [docs/install.md](docs/install.md) |
| Understand the sidecar boundary | [docs/not_a_vmanager_replacement.md](docs/not_a_vmanager_replacement.md) |
| Run a pilot | [docs/pilot_evidence_command.md](docs/pilot_evidence_command.md) |
| Parse EDA reports | [docs/eda_ci_recipes.md](docs/eda_ci_recipes.md) |
| Review stale evidence | [docs/stale_evidence_for_beginners.md](docs/stale_evidence_for_beginners.md) |
| Use local AI safely | [docs/facts_only_ai.md](docs/facts_only_ai.md) |
| Reuse packs | [docs/pack_reuse_workflow.md](docs/pack_reuse_workflow.md) |
| Read release notes | [CHANGELOG.md](CHANGELOG.md) |

<details>
<summary>More docs and demo commands</summary>

Core demos:

```bash
lazyuvm demo quickstart
lazyuvm demo gallery
lazyuvm demo pilot
lazyuvm demo pilot-case
lazyuvm demo eda-samples
lazyuvm demo case-study
lazyuvm demo fixture-kit
lazyuvm demo artifact-names
lazyuvm demo reviewer-noise
lazyuvm demo artifact-qa
lazyuvm demo artifact-stability
lazyuvm demo friction
lazyuvm report redact-check
```

Reviewer assistant commands:

```bash
lazyuvm review summarize --gate-json LazyUVM_Gate.json --out LazyUVM_Review_Summary.md
lazyuvm review checklist --gate-json LazyUVM_Gate.json --out LazyUVM_Review_Checklist.md
lazyuvm review next-actions --checklist-json LazyUVM_Review_Checklist.json --out LazyUVM_Review_Next_Actions.md
lazyuvm review toml-draft --next-actions-json LazyUVM_Review_Next_Actions.json --out LazyUVM_Review_TOML_Draft.md
lazyuvm review pilot-safe --next-actions-json LazyUVM_Review_Next_Actions.json --out LazyUVM_Review_Pilot_Safe.md
lazyuvm review explain --next-actions-json LazyUVM_Review_Next_Actions.json --facts-out LazyUVM_Review_AI_Facts.json --prompt-out LazyUVM_Review_AI_Prompt.txt --out LazyUVM_Review_AI_Explanation.md
lazyuvm report bundle --review-summary-json LazyUVM_Review_Summary.json
```

Detailed docs:

- Pack ecosystem: [docs/pack_author_guide.md](docs/pack_author_guide.md), [docs/pack_contribution_template.md](docs/pack_contribution_template.md), [docs/pack_adoption_recipe.md](docs/pack_adoption_recipe.md), [docs/pack_quality_policy.md](docs/pack_quality_policy.md), [docs/registry_experiment.md](docs/registry_experiment.md).
- v1 readiness and security: [docs/v1_readiness_audit.md](docs/v1_readiness_audit.md), [docs/security_adoption_kit.md](docs/security_adoption_kit.md), [docs/security_offline.md](docs/security_offline.md), [docs/eda_offline_adoption.md](docs/eda_offline_adoption.md).
- Small-team adoption: [docs/case_study_small_rtl.md](docs/case_study_small_rtl.md), [docs/pilot_adoption_kit.md](docs/pilot_adoption_kit.md), [docs/eda_ci_pilot_workflow.md](docs/eda_ci_pilot_workflow.md), [docs/eda_ci_pilot_case_study.md](docs/eda_ci_pilot_case_study.md), [examples/pilot_feedback/pilot_feedback.md](examples/pilot_feedback/pilot_feedback.md), [docs/v1.1_eda_ci_stabilization.md](docs/v1.1_eda_ci_stabilization.md), [docs/v1.2_pilot_friction_stabilization.md](docs/v1.2_pilot_friction_stabilization.md).
- EDA fixtures: [docs/eda_fixture_adoption_kit.md](docs/eda_fixture_adoption_kit.md), [docs/eda_fixture_harness.md](docs/eda_fixture_harness.md), [docs/eda_fixture_matrix.md](docs/eda_fixture_matrix.md), [docs/eda_custom_parser_hints.md](docs/eda_custom_parser_hints.md).
- CI artifact UX: [docs/ci_artifact_naming_policy.md](docs/ci_artifact_naming_policy.md), [docs/gitlab_jenkins_pilot.md](docs/gitlab_jenkins_pilot.md), [docs/reviewer_noise_reduction.md](docs/reviewer_noise_reduction.md), [docs/redaction_doctor.md](docs/redaction_doctor.md), [docs/report_bundle_reviewer_guide.md](docs/report_bundle_reviewer_guide.md), [docs/report_bundle_interactivity_policy.md](docs/report_bundle_interactivity_policy.md), [docs/v1.3_report_bundle_ux_stabilization.md](docs/v1.3_report_bundle_ux_stabilization.md).
- Artifact trust: [docs/v1.4_artifact_qa_baseline.md](docs/v1.4_artifact_qa_baseline.md), [docs/first_use_artifact_loop.md](docs/first_use_artifact_loop.md), [docs/ci_artifact_qa_recipe.md](docs/ci_artifact_qa_recipe.md), [docs/golden_artifact_snapshots.md](docs/golden_artifact_snapshots.md), [docs/new_user_friction_audit.md](docs/new_user_friction_audit.md), [docs/public_demo_gallery.md](docs/public_demo_gallery.md), [docs/v1.4_artifact_trust_stabilization.md](docs/v1.4_artifact_trust_stabilization.md).
- Team policy: [docs/team_policy_profiles.md](docs/team_policy_profiles.md), [docs/v1.5_team_policy_stabilization.md](docs/v1.5_team_policy_stabilization.md), [examples/policy_ci_demo/README.md](examples/policy_ci_demo/README.md).
- Reviewer assistant and AI boundary: [docs/facts_only_ai.md](docs/facts_only_ai.md), [docs/review_summary.md](docs/review_summary.md), [docs/review_checklist.md](docs/review_checklist.md), [docs/review_next_actions.md](docs/review_next_actions.md), [docs/review_toml_draft.md](docs/review_toml_draft.md), [docs/review_pilot_safe.md](docs/review_pilot_safe.md), [docs/review_ai_explain.md](docs/review_ai_explain.md), [docs/reviewer_artifacts_in_report_bundle.md](docs/reviewer_artifacts_in_report_bundle.md), [docs/v1.6_reviewer_assistant_stabilization.md](docs/v1.6_reviewer_assistant_stabilization.md), [docs/ai_review_workflow.md](docs/ai_review_workflow.md), `review.html`.

</details>

## Who It Is For

LazyUVM is a practical fit for students, open-source RTL projects, small teams,
and teams that already have simulator output but want lighter PR evidence.

If your company already has a mature enterprise sign-off flow, keep it.
Use LazyUVM only as local review evidence beside that flow.

## Release Status

Current repository version: `1.9.1`

Latest tagged release: `1.9.1`

Latest release note: [docs/releases/v1.9.1.md](docs/releases/v1.9.1.md)

See [RELEASE_CHECKLIST.md](RELEASE_CHECKLIST.md) before cutting a tag.
For small public-safe contributions, see [CONTRIBUTING.md](CONTRIBUTING.md).
For sensitive reports and private design-data boundaries, see
[SECURITY.md](SECURITY.md).
