# spbu-coding-2025/weather-evelinaat33

- Platform link: https://sourcecraft.dev/spbu-coding-2025/weather-evelinaat33
- Snapshot date: 2026-10-08
- Generated at: 2026-10-09 09:47 UTC

## Score

**47–79** (D–B — room to grow–good), applicable weight 65%.

## Categories

| Category | Weight (nominal / applied) | State | Score | Coverage |
| --- | --- | --- | --- | --- |
| Documentation and best practices | 20 / 30.77 | partial | 48.62–72.43 | 76% |
| CI/CD | 15 / 23.08 | partial | 52–92 | 60% |
| Security | 20 / 0 | no data | – | 0% |
| Project activity | 20 / 30.77 | scored | 64.94 | 100% |
| Issues | 15 / 0 | no data | – | 0% |
| Code health | 10 / 15.38 | collection failed | 0–100 | 0% |

## Strengths

- **SourceCraft CI configuration** (CI/CD): earned 9.23 of 9.23
- **README** (Documentation and best practices): earned 8.79 of 8.79
- **top author's share of commits** (Project activity): earned 4.88 of 5.13
- **commits in the last year** (Project activity): earned 4.68 of 5.13
- **license file** (Documentation and best practices): earned 2.93 of 2.93

## Recommendations

- **publish a release or tag a version** [critical] (Project activity) — last release, may return up to +5.13 (the build and the checks are reproducible for whoever takes the code)
- **add a dependency lockfile** [medium] (Documentation and best practices) — dependency lockfile, may return up to +2.93 (the build and the checks are reproducible for whoever takes the code)
- **set up a review policy** [medium] (Documentation and best practices) — review policy, may return up to +2.93 (a change is reviewed, and the history stays readable)
- **spread work across more weeks instead of bursts** [medium] (Project activity) — weekly activity, may return up to +2.31 (the repository shows it is alive, not abandoned)
- **run CI on pull requests, not only on pushes to the default branch** [optional] (CI/CD) — CI configuration contents, may return up to +1.85 (a change is reviewed, and the history stays readable)
- **make a commit soon** [optional] (Project activity) — last commit, may return up to +1.62 (the repository shows it is alive, not abandoned)
- **set up a branch protection policy** [optional] (Documentation and best practices) — branch protection policy, may return up to +1.47 (a change is reviewed, and the history stays readable)
- **write meaningful commit messages** [optional] (Documentation and best practices) — share of short commit messages, may return up to +1.16 (a change is reviewed, and the history stays readable)
- **bring in a second maintainer** [optional] (Project activity) — unique authors, may return up to +1.03 (the work does not rest on a single person)
- **commit more often** [optional] (Project activity) — commits in the last year, may return up to +0.45 (the repository shows it is alive, not abandoned)
- **share the work with other contributors** [optional] (Project activity) — top author's share of commits, may return up to +0.25 (the work does not rest on a single person)

## Not measured — interval width

Not a penalty: the lower bound of the score counts the metric as zero, the upper bound as full.

- **Documentation and best practices** — partial
  - docs directory: up to −2.93 — the platform returned incomplete data — the value could not be determined
  - Dockerfile: up to −2.93 — the platform returned incomplete data — the value could not be determined
  - contributing guide: up to −1.47 — the platform returned incomplete data — the value could not be determined
- **CI/CD** — partial
  - CI runs: up to −9.23 — access to the source is closed
- **Code health** — collection failed
  - TODO/FIXME density: up to −15.38 — the platform returned incomplete data — the value could not be determined

## Not counted in the score, and why

- **Security** — no data
  - the basis was not saved: there was nothing to measure, or the reason was not recorded in the snapshot
- **Issues** — no data
  - the basis was not saved: there was nothing to measure, or the reason was not recorded in the snapshot
