Public record
Software health reportschema 0.27.0 · metrics 1.13.0 · 2026-07-25 18:30 UTC

bitfactory-software / anyxx

C++ external polymorphism

C++ · CMakeMIT★ 16 stars⑂ 1 forksince Oct 2024View on GitHub ↗

bitfactory-software/anyxx holds a health index of 54 out of 100, placing it in the Moderate band. It scores highest on Vitality (88/100) and lowest on Sustainability & Governance (28/100). It was last updated 3 days ago. A single contributor accounts for most of its recent work.

54
overall / 100
Moderate

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.

54
Excellent85-100Exemplary; meets essentially all checked criteria
Good70-84Healthy; minor gaps
Moderate50-69Acceptable with notable gaps; review recommended
At risk30-49Significant weaknesses; adoption warrants caution
Critical1-29Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

Ownership

1 follower14 public repossince Jan 2014

This repository is backed by an organization — shared, accountable stewardship that can outlive any single maintainer.

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

88Excellent · 22% of overall
How it's scored
36/36Push recency — last push 3 days ago
22.2/36Commit cadence — 32/52 weeks with commits
18/18Commit volume — 1,465 commits in the last year
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year1,465
human_commit_share1
days_since_last_push3
active_weeks_last_year32
How it's scored
27/27Ships releases — 23 releases published
36/36Release recency — latest release 3 days ago
27/27Release cadence — a release every ~19.7 days
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Inputs used
releases_count23
latest_release_tag0.7.0
releases_from_tagsno
days_since_latest_release3
mean_days_between_releases19.7

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

35At risk · 18% of overall
How it's scored
19.1/60Stars — 16 stars
0/25Forks — 1 forks
1.7/15Watchers — 3 watchers
Inputs used
forks1
stars16
watchers3
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (MIT)
0/18CONTRIBUTING guide
0/13.5Code of conduct
0/7.2Issue template
0/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

28Critical · 24% of overall
How it's scored
9/54Bus factor — 1 contributor(s) cover half of all commits
0.2/22.5Commit distribution — top contributor authored 99% of commits
5.4/13.5Contributor breadth — 4 contributors
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Inputs used
bus_factor1
contributors_sampled4
top_contributor_share0.991
How it's scored
0/46.8Issue resolution — no issues or no data
9.6/38.3PR acceptance — 2/8 decided PRs merged
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Inputs used
merged_prs2
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs6
Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
2.2/25Owner reach — 1 followers of bitfactory-software
20.6/25Track record — 14 public repos, account ~12 yr old
Inputs used
followers1
owner_typeOrganization
is_verified
owner_loginbitfactory-software
public_repos14
account_age_days4,582

Engineering Quality

Are baseline engineering and documentation practices in place?

72Good · 20% of overall
How it's scored
24/24CI workflows — 2 workflow(s)
24/24Tests present
0/16Linter config
0/9.6Pre-commit hooks
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — no data
Inputs used
has_ciyes
has_testsyes
has_editorconfigno
has_linter_configno
has_precommit_configno
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.

Documentation

90Excellent
How it's scored
30/30README
25/25Documentation directory
15/15Documentation / homepage site — https://www.alexweb.io/anyxx
10/10Repository description
0/10Topics
10/10Wiki
Inputs used
topics
has_wikiyes
homepagehttps://www.alexweb.io/anyxx
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

44At risk · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — no data
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
0/2.5Contributors — project has 0 contributing companies or organizations -- score normalized to 0
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5License — license file detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — no data
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — no SAST tool detected
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate4.4
Excluded from scoring (no data or not applicable): ci_tests, packaging. Remaining weights renormalized.

AI Readiness

How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score.

42At risk · 0% of overall
How it's scored
0/45Agent instructions — no CLAUDE.md / AGENTS.md / editor rules
0/15Machine-readable docs (llms.txt)
21.3/40Legible commit history — 40 of 100 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.4
agent_instruction_files
agent_instruction_max_bytes
How it's scored
0/18One-command bootstrap
22/22Automated tests
0/11Lint / format config
11/11Static type checking — C++ (statically typed)
0/10Reproducible environment
0/10Demonstrated agent practice — no agent-authored commits among the last 100
5/8Automated maintenance — dependency automation configured, none observed in the sampled commits
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Inputs used
has_nixno
has_testsyes
lockfiles
has_dockerfileno
typed_languageyes
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
How it's scored
45/45Type-checkable code — C++ (statically typed)
54.4/55Manageable file sizes — 1/85 source files over 60KB
Inputs used
primary_languageC++
largest_source_bytes204,163
source_files_sampled85
oversized_source_files1
How it's scored
0/40API schema (OpenAPI/GraphQL/proto)
0/20MCP server
40/40Runnable examples — examples
Inputs used
example_dirsexamples
has_mcp_signalno
api_schema_files

Key facts

16GitHub stars
4contributors
1,465commits, last 12 months
3days since last push
23releases
1bus factor
0open issues
package ecosystems

Data collection warnings

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token

More detail

OpenSSF Scorecard 4.4 / 10
4.4aggregate

Independent, tool-agnostic security assessment from the open-source OpenSSF Scorecard. Each check rewards a security practice, not a specific vendor's tool. Checks Scorecard could not determine are marked n/a and excluded from the security score (never counted as zero).Scorecard v5.5.0 · 2026-07-25 18:30 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
n/aCI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
n/aPackagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
All dependencies 0

Full resolved dependency set from the GitHub dependency graph: 0 direct and 0 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.

RegistryPackageVersionRelation
Dependency advisories not assessed

Advisory matching could not run for this report: No resolved dependencies to assess

Raw JSON report machine-readable
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 13178,
      "has_wiki": true,
      "homepage": "https://www.alexweb.io/anyxx",
      "languages": {
        "C++": 361525,
        "CMake": 62255
      },
      "pushed_at": "2026-07-22T17:34:56Z",
      "created_at": "2024-10-25T11:41:39Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-22T17:07:17Z",
      "description": "C++ external polymorphism",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "master",
      "license_spdx_raw": "MIT",
      "primary_language": "C++",
      "significant_languages": [
        "C++",
        "CMake"
      ]
    },
    "owner": {
      "blog": "http://www.bitfactory.at",
      "name": null,
      "type": "Organization",
      "login": "bitfactory-software",
      "company": null,
      "location": null,
      "followers": 1,
      "avatar_url": "https://avatars.githubusercontent.com/u/6339967?v=4",
      "created_at": "2014-01-07T14:05:13Z",
      "is_verified": null,
      "public_repos": 14,
      "account_age_days": 4582
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "0.7.0",
          "kind": "minor",
          "published_at": "2026-07-22T17:34:56Z"
        },
        {
          "tag": "0.6.1",
          "kind": "patch",
          "published_at": "2026-03-28T19:03:01Z"
        },
        {
          "tag": "0.6.0",
          "kind": "minor",
          "published_at": "2026-03-15T19:29:37Z"
        },
        {
          "tag": "0.5.6",
          "kind": "patch",
          "published_at": "2026-03-15T09:59:50Z"
        },
        {
          "tag": "0.5.5",
          "kind": "patch",
          "published_at": "2026-03-15T08:50:54Z"
        },
        {
          "tag": "0.5.3",
          "kind": "patch",
          "published_at": "2026-03-14T09:28:14Z"
        },
        {
          "tag": "0.5.2",
          "kind": "patch",
          "published_at": "2026-02-09T16:51:48Z"
        },
        {
          "tag": "0.5.1",
          "kind": "patch",
          "published_at": "2026-02-09T12:14:27Z"
        },
        {
          "tag": "0.5.0",
          "kind": "minor",
          "published_at": "2026-01-31T19:31:57Z"
        },
        {
          "tag": "0.4.1",
          "kind": "patch",
          "published_at": "2026-01-26T11:51:11Z"
        },
        {
          "tag": "0.3.1",
          "kind": "patch",
          "published_at": "2026-01-19T15:31:42Z"
        },
        {
          "tag": "0.3.0",
          "kind": "minor",
          "published_at": "2026-01-19T14:52:42Z"
        },
        {
          "tag": "0.2.1",
          "kind": "patch",
          "published_at": "2026-01-19T12:10:01Z"
        },
        {
          "tag": "0.2.0",
          "kind": "minor",
          "published_at": "2026-01-06T13:43:04Z"
        },
        {
          "tag": "0.1.0",
          "kind": "minor",
          "published_at": "2025-12-23T21:00:29Z"
        },
        {
          "tag": "0.0.9",
          "kind": "patch",
          "published_at": "2025-12-23T20:05:09Z"
        },
        {
          "tag": "0.0.8",
          "kind": "patch",
          "published_at": "2025-12-23T13:50:24Z"
        },
        {
          "tag": "0.0.7",
          "kind": "patch",
          "published_at": "2025-12-23T11:58:28Z"
        },
        {
          "tag": "0.0.6",
          "kind": "patch",
          "published_at": "2025-12-23T10:08:21Z"
        },
        {
          "tag": "0.0.5",
          "kind": "patch",
          "published_at": "2025-12-23T09:36:07Z"
        },
        {
          "tag": "0.0.3",
          "kind": "patch",
          "published_at": "2025-12-15T16:08:00Z"
        },
        {
          "tag": "0.0.2",
          "kind": "patch",
          "published_at": "2025-11-27T10:37:57Z"
        },
        {
          "tag": "0.0.1",
          "kind": "patch",
          "published_at": "2025-11-24T16:30:49Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "8cd3caaeb7ba7008ec3f194a29dcd5efad9f7c11",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'develop'",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-22T17:04:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f5d00d38bfaacba7a6a528d40f336092e0a890fb",
          "body": null,
          "is_bot": false,
          "headline": "Remove _2h_strong_typedef.cpp",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-22T16:57:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5301b6a38a54ebac752df27bfabb48d9897a240f",
          "body": null,
          "is_bot": false,
          "headline": "Refactor node_range aliases to use static dispatch",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-22T16:37:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "07a78320036f969b2119c6224202dccf62459e7e",
          "body": "…fault proxy = cref (fixes crash, clang brings compile error!)",
          "is_bot": false,
          "headline": "Refactor: use local variable for nodes.get() result, because range de…",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-21T20:15:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d56154ed52caea3383aa73f8201116ebcf6183a4",
          "body": "… maps. to support std::ranges algorithms. Introduced static_asserts to ensure input_range compliance.",
          "is_bot": false,
          "headline": "introduce node-based ranges and iterators with type aliases and model…",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-21T19:51:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db0fc53d046902b0e610bf93a8c924fc5858a003",
          "body": null,
          "is_bot": false,
          "headline": "Refactor to use any_forward_range alias for erased ranges",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-21T19:44:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ae3c135cc5a980f3a9f7e0e9c83f48eb65df123",
          "body": "…rd_range.",
          "is_bot": false,
          "headline": "Updated the monoid trait's concat method to use anyxx::any_self_forwa…",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-21T18:13:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57365062b19d5124d1db53bfb107bc84e64b6f7c",
          "body": null,
          "is_bot": false,
          "headline": "Rename any_forward_range to any_range",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-21T18:11:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9bce1d041eab59472cf2bbd586fe702f0d8929ae",
          "body": null,
          "is_bot": false,
          "headline": "Change default_proxy default to val<> instead of shared",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-21T18:02:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f2faef548ab8e8fcff9db054145ad0dac30894a4",
          "body": "Introduce any_self_forward_range for self-referential iterators.",
          "is_bot": false,
          "headline": "Refactor any_forward_range to require only iterator type",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-21T17:56:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "176bf55663db79fee490b52d65bec9390d39df18",
          "body": "Simplify operator== and operator!= to use ANY_OP_MAP_NAMED_FRIEND.",
          "is_bot": false,
          "headline": "Simplify forward_iterator by removing IteratorCategory param",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-21T16:57:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ed9e9f8f9d73c5c27f9549b7cd5bb8719e0aad0d",
          "body": "Refactor iterator_category_impl to accept iterator type and category for flexible deduction.\nUpdate any_forward_iterator and traits to support customizable iterator categories.\nActivate sample to adapt node-based singly-linked list as iterator.",
          "is_bot": false,
          "headline": "Refactor and extend anyxx forward iterator for type deduction",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-21T16:40:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ab138efca5800de368fa948fdece7a9f5883eaad",
          "body": "Introduce deduced_type alias for improved type deduction in anyxx macros and concepts.\n\nUpdate op_dereference to use deduced_type::reference for consistency.",
          "is_bot": false,
          "headline": "Refactor type deduction and apply to iterator dereference handling",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-20T19:20:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd9e99f988cba4d53fd9b3d06392d41e78bfc4d1",
          "body": "Refactored the implementation of post-increment for forward iterators by introducing a reusable lambda, `post_increment_def`, to handle both direct and indirect post-increment support. Updated the trait to use this lambda via `std::bind`.\n\n Removed obsolete and commented-out code for clarity and maintainability.",
          "is_bot": false,
          "headline": "Refactor post-increment handling for forward iterators",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-20T18:59:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c9f4d675f815d1e5a519e9acbf342c98ca35a03a",
          "body": "… shadowing.",
          "is_bot": false,
          "headline": "Rename template param Proxy to ProxyImpl in v_table_holder, gcc/clang…",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-20T18:44:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5549ccc7a959c6fc4efde7e877a09391cdf92996",
          "body": "introduce a deduced_type struct for encapsulating typedefs in model maps and v-tables.\nUpdate macros and templates to use deduced_type, specialize v_table_holder on Proxy.\nRemove TRAIT_TYPE/DEDUCED_TYPE macros.\nstd::iterator_traits specialization for any_forward_iterator no longer needed.",
          "is_bot": false,
          "headline": "Refactor deduced type handling for traits and proxies",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-20T18:21:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7046d2d50fbc804ad0c789b7795554d61aa10c80",
          "body": null,
          "is_bot": false,
          "headline": "Refactor translate_sig type mapping to use native templates",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-20T16:52:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "60aa567b102027828a98baf47c9946870c1c8e9f",
          "body": "Introduced _detail_ANYXX_V_TABLE_TYPE_H, _detail_ANYXX_V_TABLE_TYPE, and _detail_ANYXX_V_TABLE_TYPES macros to automate v-table type alias generation.\nv-table and model map: typedefs are generated before function definitions.",
          "is_bot": false,
          "headline": "Add macros for v-table typedef generation and integration",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-20T16:12:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae2215c9fcf94fe0e84519a81e29f153715754f9",
          "body": "The DEDUCED_TYPE macro now uses 'typename Any::T' instead of 'Any::T' in its expansion. This ensures correct type resolution in dependent contexts and avoids compilation errors related to dependent types.",
          "is_bot": false,
          "headline": "Add typename to DEDUCED_TYPE macro for type resolution",
          "author_name": "andreaspfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-20T08:37:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e47993c691f2acecde90d8c8e42190a8d533be0c",
          "body": "Refactored iterator_traits to deduce reference type using DEDUCED_TYPE. Added new headers and reorganized comments in _3_any_range.cpp. Expanded and reformatted commented-out code for iterator adaptor examples; no functional changes to test cases.",
          "is_bot": false,
          "headline": "Refactor iterator_traits and update example comments",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-19T21:25:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "67b99adff5cc696c0ad5c93b901748d2ef266308",
          "body": "Added has_post_increment concept to detect post-increment support. Updated post_increment to use native x++ if available, or emulate it otherwise.",
          "is_bot": false,
          "headline": "Support types without native post-increment operator",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-19T19:55:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f5ba4df2115dca0ebb5ce3f9cdc05f8744bc043a",
          "body": "Replaces generic operator macros with mapped versions and updates function names (e.g., post_inc to post_increment, equal_to to equal) for improved consistency and clarity in the forward iterator trait template.",
          "is_bot": false,
          "headline": "Refactor iterator trait operator and function naming",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-19T19:42:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "429d9a7a142638d39d56d33dc5de89d0476db396",
          "body": "Refactor and extend type deduction for iterators and ranges in anyxx:\n- Improve template parameter handling in type trait macros\n- Add trait implementation templates for iterator traits with void* support\n- Use new trait templates in forward_iterator for better genericity\n- Specialize std::iterator_traits for anyxx::any<forward_iterator<...>>\n- Update examples to use int const& for reference type\n- Add WIP code for iterator adapter and node-based list",
          "is_bot": false,
          "headline": "Refactor iterator trait deduction and std compatibility",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-19T18:11:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4f52b13ae27f0c78291ccdb4624e133bc8c575f5",
          "body": "Simplify memory management by removing custom allocate from v-tables and introducing a generic allocate function using model_size. Replace is_allocate_v_table with is_model_size_v_table. Update all allocation and deallocation logic and tests to use the new approach.",
          "is_bot": false,
          "headline": "Refactor dynamic value allocation and deallocation",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-19T14:26:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c67619fc7c17a104b772988d471b2f792afd89f",
          "body": null,
          "is_bot": false,
          "headline": "Add #include <atomic> in anyxx.hpp",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-19T13:39:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e5368b4365a1d4ac8115f2ced5829e4714c9fb5",
          "body": "Replaces heap_data with a cow type and updates proxy_trait to support reference counting and COW semantics for heap-allocated values. Splits get_proxy_ptr into const and non-const versions for correct pointer access. Updates tests to reflect COW behavior, ensuring copies share storage until mutation. Adds tests for get/set interface and improves memory management and efficiency for heap-allocated types.",
          "is_bot": false,
          "headline": "Refactor val proxy to use copy-on-write for heap objects",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-19T13:27:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f7b8e468058b060d70aff533493705903bff6d0f",
          "body": "The cow (copy-on-write) proxy and its proxy_trait specialization were moved from _any_cow_lifetime.cpp to anyxx.hpp.",
          "is_bot": false,
          "headline": "Move cow proxy implementation to header file",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-19T09:04:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "253794e37515064a409f6b2571d3d9e21f01f809",
          "body": null,
          "is_bot": false,
          "headline": "Refactor holder_base allocation with direct placement new",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-19T08:41:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d340edb7f98336998ab27dbd997c1612c0ad1807",
          "body": null,
          "is_bot": false,
          "headline": "Replace nullptr_t with std::nullptr_t for clarity (gcc)",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-18T19:14:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "08ebbea17cac8c224f8594fdce77351c7adf000d",
          "body": "…ng & gcc\n\nRefactor offset calculation for cow::holder value_ using a constexpr function for better type safety. Update holder_from_data_ptr and data_ptr_from_holder to use the new offset logic. Adjust proxy_trait<cow>::clone_from to clarify ownership semantics. Add explicit nullptr check for v_table in destroy to prevent invalid destruction.",
          "is_bot": false,
          "headline": "Refactor cow holder pointer logic and improve safety, issues from cla…",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-18T19:10:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "35418e65829ebd446c7e241b940d4af5cfd6879d",
          "body": "Refactored and re-enabled the COW proxy in `_any_cow_lifetime.cpp` with a new implementation managing reference counting and unique ownership. Added a specialized `proxy_trait` for COW, ensuring correct copy, move, and destroy semantics. Updated and expanded tests to verify object lifetime and COW behavior. Also improved forwarding in `anyxx.hpp` to preserve value category and constness when accessing the proxy pointer.",
          "is_bot": false,
          "headline": "Implement copy-on-write proxy and tests for anyxx",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-18T18:08:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "81992cd01ed93bc97e8dedbd07e96c9a757c7f7a",
          "body": "Refactor get_proxy_ptr to support perfect forwarding and rvalue references, improving proxy pointer retrieval flexibility and correctness. Comment out all tests in _any_cow_lifetime.cpp to temporarily disable COW lifetime and copy/move tests.",
          "is_bot": false,
          "headline": "Update get_proxy_ptr for forwarding; disable COW tests",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-18T17:14:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "406305c44ad2dd8a6692c61b79233c32aa2dc7d3",
          "body": null,
          "is_bot": false,
          "headline": "val allow_any_default_constructibile controlled by template parameter",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-17T18:43:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a680f9709621e4a1146a914bec9e833e3066349",
          "body": null,
          "is_bot": false,
          "headline": "COW lifetime tests in place",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-17T18:23:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7717526132df2107d4c93055a4734a0c2d17b43a",
          "body": null,
          "is_bot": false,
          "headline": "format",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-15T18:36:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9d21c5dfe4e32a41cc8e02fc797ff6e53bf6e426",
          "body": "Refactor nullable_model_map specialization to support T& references, updating rep_type and get_value for correct reference semantics. Add \"_2p test optional 4\" to test optional<int&> behavior, including assignment and equality. Add static_asserts for constness and size checks.",
          "is_bot": false,
          "headline": "Refactor reference optional handling; add int& tests",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-15T18:34:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f61192cfde08a9a85b2f44da2bd0b040d3f234d",
          "body": "Refactored model map templates to move rep_type logic into the main template.\nIntroduced reference_wrapper to support optional references.\nAdded a specialization for nullable_model_map<T const&> using reference_wrapper.\nIncluded tests to verify optional<int const&> behavior and ensure no overhead for empty state.",
          "is_bot": false,
          "headline": "Refactor rep_type and add optional<T const&> support",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-15T06:51:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85f9cdc7bdeeae543e688a6513876104a5a06f5a",
          "body": "Introduce using_cref<Value> to enable proxying by const reference for static dispatch without ownership. Add proxy_trait specialization, helper type aliases, and a factory function for using_cref. Update tests to use using_cref instead of using_ for const reference semantics.",
          "is_bot": false,
          "headline": "Add using_cref proxy for const ref dispatch support",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-14T19:14:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "451287cfbc9219d2cfdd50cf1edf5045a286e5cb",
          "body": null,
          "is_bot": false,
          "headline": "Fix typos and clarify comments in trait macro docs",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-14T18:47:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd452c45f1645a41fdff6ba8e03c4787bd949838",
          "body": null,
          "is_bot": false,
          "headline": "Remove redundant anyxx:: qualifier from using_<T>",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-14T18:43:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "144d444a27b9b67d8f95dfaf0a1442bcc0b92e3d",
          "body": "Updated the != operator implementation for the equal_comparable trait to use !Map{}.eq(x, r) directly instead of trait_as. Also applied minor formatting improvements in the dynamic test case type alias declaration.",
          "is_bot": false,
          "headline": "Refactor != for equal_comparable to use Map{}.eq",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-14T18:37:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "28383d26ce5a46cfbeecbf09dcfaa72ed11768c5",
          "body": "Simplified the '!=' operator implementation to directly negate the result of Map{}.eq(x, r) instead of using trait_as comparisons. This improves code clarity and may enhance efficiency.",
          "is_bot": false,
          "headline": "Refactor '!=' operator in TRAIT_TEMPLATE macro",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-14T18:35:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "48d3d6a06628603e67ca811eae7d75e07cb5c90d",
          "body": "…move `anyxx::use_as_` proxy wrappers. Functions now use direct references, simplifying the implementation and improving code clarity.",
          "is_bot": false,
          "headline": "Refactored equality_to comparison between `a_type` and `b_type` to re…",
          "author_name": "andreaspfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-14T15:41:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "331a391cbe6fa55a338dc8ba31982ffd99fd7033",
          "body": "Added trait_range_as utility for trait transformation over ranges. Refactored and improved equal_comparable_to tests, including new tests for comparing single values with ranges. Improved code clarity and concept checking.",
          "is_bot": false,
          "headline": "Add trait_range_as and range-based equality tests",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-11T14:30:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd16953b7225a4dd134b9174369a4d2d5e8b0517",
          "body": null,
          "is_bot": false,
          "headline": "call test_monid with mixed traited/native parameters",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-11T13:49:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb9d8af741134e43ecd43a1fcdf15cb9e09770d3",
          "body": null,
          "is_bot": false,
          "headline": "remove indirection to test_monoid_traited",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-07-11T13:21:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "317a3144851ceb41711919076eb0aa13ff4a5721",
          "body": "…compiler warning",
          "is_bot": false,
          "headline": "Mark constructed as [[maybe_unused]] in move constructor to suppress …",
          "author_name": "andreaspfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-26T12:42:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "386043c9963d9acf43775171d9201c6e381059ce",
          "body": null,
          "is_bot": false,
          "headline": "Flexible small object size for val proxy",
          "author_name": "andreaspfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-26T12:31:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fdda2a7be69dc46602c26238bc598cc06757a4f4",
          "body": null,
          "is_bot": false,
          "headline": "Refactor: use val<> instead of val/basic_val",
          "author_name": "andreaspfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-25T14:57:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ab8dbc2166063f24062baaa1b5af7bd425f0474b",
          "body": "basic_val and related proxy_trait logic now accept a SmallObjectSize template parameter instead of using a fixed small_object_size constant. This enables customizable small object buffer sizes for value types, improving flexibility and allowing performance tuning. All relevant functions and specializations are updated to propagate and use this parameter.",
          "is_bot": false,
          "headline": "Generalize small object size in basic_val and traits",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-24T19:24:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "303b7b74b6eb03ab5f267c4753159104ef4bef84",
          "body": "…ality of models.",
          "is_bot": false,
          "headline": "Introduced a model_size_t struct to represent both the size and trivi…",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-24T19:03:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef472d731f9f828ca19ea28937b30c80d6119e7f",
          "body": null,
          "is_bot": false,
          "headline": "Track interior pointer and update size checks in XX",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-24T18:27:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc1a46080304dce86aa9aade392f5d0dd3fadec6",
          "body": "Refactored basic_val to use a templated in-place constructor with std::in_place_type_t, enabling direct construction of objects in local or heap storage. Removed make_local_value and make_value helper functions. Updated proxy_trait to use the new constructor for all in-place and erased construction cases. Explicitly defined default constructor and destructor for basic_val.",
          "is_bot": false,
          "headline": "Refactor basic_val construction and remove helpers",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-24T18:13:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d111eeac82dc9684eff002c0c753f71a9ef70308",
          "body": null,
          "is_bot": false,
          "headline": "Remove no-op copy assignment operator from basic_val",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-24T17:47:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c03aad6d1a17fc5d76251497759b959167f003b",
          "body": "Introduce can_copy_construct_from to proxy traits to explicitly control copy construction support. Update any class to use this trait instead of std::copyable. Set can_copy_construct_from to true in basic_proxy_trait and false in proxy_trait<unique>. Disable copy construction and assignment in basic_val to enforce non-copyable semantics. Improves type safety.",
          "is_bot": false,
          "headline": "Add can_copy_construct_from trait for proxy copy control",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-24T17:44:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "efc57d1c31b41ee4a461d03ff218849ace9c0aa8",
          "body": "Added a static assertion in the \"example 3 static any range of view\" test case to ensure that the size of a view does not exceed anyxx::small_object_size.",
          "is_bot": false,
          "headline": "Add static assert for size in any range test",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-24T17:43:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c8a1001726c3a69ab2349905271a7cf055e01c79",
          "body": "Implemented a move constructor for basic_val to handle heap and local storage correctly, added a trivial copy constructor, and cleaned up the copy assignment operator.",
          "is_bot": false,
          "headline": "Add move/copy constructors to basic_val; add type checks",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-23T18:43:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "864293ff087cb296b196179b2f4265e0b6062b62",
          "body": "Introduce small_object_size as 2 * sizeof(mutable_void) to allow larger objects to use small object optimization. Update all related checks, static_asserts, and local_data sizing to use the new threshold, improving local storage efficiency.",
          "is_bot": false,
          "headline": "Expand small object optimization threshold",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-23T16:15:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7328569bdc1fab5c3fb9daa251bb80246f2a00aa",
          "body": "This reverts commit f44b899fbaa962c4e97c02038355770794176a65.",
          "is_bot": false,
          "headline": "Revert \"Remove compute_model_size and simplify model_size logic\"",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-23T16:09:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f44b899fbaa962c4e97c02038355770794176a65",
          "body": null,
          "is_bot": false,
          "headline": "Remove compute_model_size and simplify model_size logic",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-23T16:03:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52fe457a93adc914556602427737727da3fce65b",
          "body": "Refactor basic_val to use a dedicated ptr_ member, ensuring it is consistently updated during construction, move, and copy operations. Update proxy_trait methods to set ptr_ appropriately and simplify get_proxy_ptr_in. Adjust visit_value to return the correct pointer for each storage type. Update tests to use val storage and minor test improvements.",
          "is_bot": false,
          "headline": "val is as fast as vanilla virtual function call",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-23T15:53:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02371430e38f3a65f26fc38a313f3a97c78f0fc3",
          "body": null,
          "is_bot": false,
          "headline": "Remove redundant template param from proxy_trait methods for gcc",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-22T19:31:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4c88ac138ef47d6b5718218fe9ad7c0ca6c004a9",
          "body": null,
          "is_bot": false,
          "headline": "use nullable_val for members",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-22T17:57:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e6d37a3161a2ce1fdb9640f2b55ea7e58ee5247",
          "body": null,
          "is_bot": false,
          "headline": "any with constrained default constructibility",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-22T17:49:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eea99a22f1ed0b61d87f7ec1a03bd0cdccd3539d",
          "body": null,
          "is_bot": false,
          "headline": "Add static_assert for 'self`' forward_range concept compliance",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-21T18:25:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "251b83f1e8ba80713a8bf7c2aab1724d8af822d4",
          "body": null,
          "is_bot": false,
          "headline": "Remove is_default_constructible from proxy_trait",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-18T19:54:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f6e59e4141d8fd35fe2446aa0b6a8f7cd76eaeff",
          "body": "Refactored the val struct into a templated basic_val struct with a nullable parameter, enabling both nullable and non-nullable variants. Added type aliases val and nullable_val. Updated proxy_trait specialization to support basic_val, and introduced is_default_constructible based on the nullable parameter. Adjusted constructors, destructors, and assignment operators to align with the new template structure.",
          "is_bot": false,
          "headline": "Refactor val to templated basic_val with nullable support",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-18T19:08:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "015141a394c671040a17b8a0064f5831e0cd6dad",
          "body": "Centralize heap, local, and trivial storage in val using a nested data_union. Update all member accesses and related logic to use the new structure, improving maintainability and reducing redundancy. Minor formatting and parenthesis adjustments included.",
          "is_bot": false,
          "headline": "Refactor val struct to use nested union for storage",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-18T18:58:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce858b8fb04e6e298a7f52632c989ef03250bc1e",
          "body": "…lang",
          "is_bot": false,
          "headline": "Update type_for alias to use OtherProxy as template param for gcc & c…",
          "author_name": "andreaspfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-18T16:45:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "719d514ff2f4c7b845bca25f7f1f50fcb9ba74d1",
          "body": "The any<Trait, Proxy> template now defaults Proxy to the trait's default_proxy_t, allowing usage like any<dynamic_value> instead of any<dynamic_value, val>. Refactored observer, cref, and mutref definitions for clarity. Updated v-table trait macros to specify default_proxy_t. Simplified tests and examples by removing redundant proxy arguments, making the API more concise and user-friendly.",
          "is_bot": false,
          "headline": "Default proxy for any<Trait> now trait-dependent",
          "author_name": "andreaspfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-18T16:39:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8dfe4827bbf5f2fee617543addcfdef43be19717",
          "body": "Systematically change all `any` usages and related type aliases from `any<Proxy, Trait>` to `any<Trait, Proxy>`. Update macros, factory functions, tests, and documentation for consistency.",
          "is_bot": false,
          "headline": "Refactor: swap template order for any<Trait, Proxy>",
          "author_name": "andreaspfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-18T16:02:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "355cd0ac4ca0b90af2e5aef083705ff6f50c4882",
          "body": "Simplify and unify open dispatch by replacing marker structs and template specializations with the ANY_OPEN_DISPATCH macro, which adds a dispatch_table pointer directly to vtables. Consolidate dispatch table management functions and update detection to use the is_open_dispatch_v_table concept. Update all usages, tests, and examples to the new macros, and perform minor code cleanups for clarity and maintainability.",
          "is_bot": false,
          "headline": "Refactor open dispatch mechanism in anyxx library",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-17T19:42:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e7c1409e6dc641c69e6edacdd702e275a5e3a551",
          "body": null,
          "is_bot": false,
          "headline": "Refactor any<..> to require explicit trait param",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-17T18:15:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0928fe151c27e3818686f6b64e8b2a2121fe8c0",
          "body": null,
          "is_bot": false,
          "headline": "fix ayx::ref to ayx::cref",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-17T17:05:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d332c5438a30d1f05489b3148fb88d4d2e812d6b",
          "body": "anyxx::dynamic_deletable.",
          "is_bot": false,
          "headline": "Update to_string_i  in test::component_base i to include",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-17T17:01:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0bafbbfd5946c238347da4485636c281a6d56f4b",
          "body": "Update all uses of TRAIT, ANY, and related macros to their underscore-suffixed forms, requiring explicit specification of dynamic behavior (e.g., anyxx::dynamic_value or anyxx::dynamic_copyable). Update tests and examples for compatibility. This change improves code clarity and flexibility by making dynamic type policies explicit.",
          "is_bot": false,
          "headline": "Refactor macros to use explicit dynamic type policy",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-17T16:28:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9ebfdfd57135654ce26e85a3312260642634459",
          "body": null,
          "is_bot": false,
          "headline": "Remove unused any_value_t typedef from any",
          "author_name": "andreaspfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-17T09:51:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ffb9d690e791825e639eb117fa8eea5f547ff36f",
          "body": "\"only pay for what you use\"",
          "is_bot": false,
          "headline": "Refactor factory to require proxy type as template param",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T19:33:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d94fd4508b7b9ef658bdf21ba07ca8d55a949efd",
          "body": null,
          "is_bot": false,
          "headline": "Refactor: base_trait to dynamic_value",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T19:10:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6db609fae7bcefd0b8ddd9dda1aa0a3b5a9ab2a4",
          "body": null,
          "is_bot": false,
          "headline": "Add dynamic_copyable trait",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T19:04:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7685dbc1ed94d5c8c6eece81f5cdaa6b105bebbf",
          "body": "…ait. .",
          "is_bot": false,
          "headline": "Move delete_t logic from dynamic_castable to new dynamic_deletable tr…",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T19:01:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d44a13fe59e189dc279433767f9a89fb981acc7",
          "body": null,
          "is_bot": false,
          "headline": "Replace observeable_rtti_trait with dynamic_castable",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T18:54:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4815beea49046e056e6b4567918dd040bc480441",
          "body": null,
          "is_bot": false,
          "headline": "Refactor: replace observeable_trait with observeable",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T18:49:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ad2988f1634def9c449b7948831dfc3da71e6bd",
          "body": "…Y. Is obsolate becase of ignore_mapf_concept_with_always_false",
          "is_bot": false,
          "headline": "Replaced _detail_ANYXX_TRAIT_ERROR_MESSAGE with _detail_ANYXX_FN_EMPT…",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T18:38:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a91f45a8630c6186dca2e3a493b32ebb258f5f67",
          "body": null,
          "is_bot": false,
          "headline": "Remove member_dispatch and related concepts from anyxx.hpp",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T18:29:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "17c0fa8b77ffef1ef20b1d333d070af2631243f6",
          "body": null,
          "is_bot": false,
          "headline": "tidy up",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T18:27:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "16862daa83ba8bf44d040466541e972567174c3e",
          "body": "Introduce is_meta_data_v_table concept.\nRefactor query_v_table to handle VTables without meta_data_ and improve error handling for unsupported cases.\nThese changes increase flexibility for dynamic_casts.",
          "is_bot": false,
          "headline": "Enhance VTable support with meta_data concept",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T18:19:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5783c9f1fcb4241878c89e3447018e56a6460174",
          "body": "Unify is_derived_from_v_table and is_get_type_info_v_table into a single concept, is_dynamic_castable_v_table, which requires both is_derived_from_ and type_info_ members. Update all usages to improve clarity and maintainability of v_table type requirements.",
          "is_bot": false,
          "headline": "Refactor v_table concepts into is_dynamic_castable_v_table",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T18:01:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d59d82b604d87387fa00a4ae4835b52da5dbc47",
          "body": "Refactor v-table to store type_info pointer directly\n\nReplaces get_type_info function pointer in the v-table with a direct std::type_info pointer (type_info_). Updates all related concepts and usages to reference type_info_ instead of get_type_info, simplifying type information access and type comparisons.",
          "is_bot": false,
          "headline": "refactor get_type_info",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T17:55:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b6930acb026915f2cae2f2d721f8e0cd3a4e5044",
          "body": null,
          "is_bot": false,
          "headline": "move model_size to base_trait",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T17:44:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8777a9bdb9c2ea4b5acfa7ebb8bc521da2096be",
          "body": null,
          "is_bot": false,
          "headline": "tidy up",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T17:34:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "18cc6cd7b9303d263e7e4fb9f173820bbee011a4",
          "body": null,
          "is_bot": false,
          "headline": "tidy up",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T17:33:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ccdd0f07264a4b29efa69c171d951c5d8b40481",
          "body": null,
          "is_bot": false,
          "headline": "TRAIT_EX_ observeable_rtti_trait",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T17:32:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "16ca26b3ea14239639269bb4b34364af2170fd93",
          "body": null,
          "is_bot": false,
          "headline": "reorder code in anyxx.hpp",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T17:20:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e74bac1aef6d8541652f7867585f2e0f62f480b9",
          "body": null,
          "is_bot": false,
          "headline": "more _v_table concepts used",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T17:13:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e050379a0abb12d3514cda5b99c5f3ecb807b917",
          "body": null,
          "is_bot": false,
          "headline": "use is_deriived_from_v_table",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T17:03:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "081c83e1fa9c40fdb0147b1e005e9403d53f4498",
          "body": "…th_v_table<...>",
          "is_bot": false,
          "headline": "concept is_proxy_compatible_with_trait, proxy_trait::is_compatible_wi…",
          "author_name": "andreaspfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T14:41:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "65639edd63fdb803e317a3640fdba5ec579cded9",
          "body": null,
          "is_bot": false,
          "headline": "more v_table concepts",
          "author_name": "andreaspfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-16T14:01:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "54d034cbdc2dfad269c5eeb122be2b48b06122ba",
          "body": null,
          "is_bot": false,
          "headline": "TRAIT_EX_ via ANY_V_TABLE_DATA",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-15T18:09:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80e343699c51afc979c56e99a114e572c0c9a073",
          "body": null,
          "is_bot": false,
          "headline": "ANY_V_TABLE_DATA(copy_constructor_t, copy_constructor, ...",
          "author_name": "Andreas Pfaffenbichler",
          "author_login": "andreaspfaffenbichler",
          "committed_at": "2026-06-15T17:47:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 23,
      "commits_last_year": 1465,
      "latest_release_at": "2026-07-22T17:34:56Z",
      "latest_release_tag": "0.7.0",
      "releases_from_tags": false,
      "days_since_last_push": 3,
      "active_weeks_last_year": 32,
      "days_since_latest_release": 3,
      "mean_days_between_releases": 19.7
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 37,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": []
    },
    "popularity": {
      "forks": 1,
      "stars": 16,
      "watchers": 3,
      "fork_history": {
        "days": [
          {
            "date": "2026-02-04",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 1,
        "total_forks": 1
      },
      "star_history": null,
      "open_issues_and_prs": 3
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 204163,
      "source_files_sampled": 85,
      "oversized_source_files": 1,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [],
      "advisories": {
        "error": "No resolved dependencies to assess",
        "scope": "repository_graph",
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [],
      "dependencies": [],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [],
        "collected": true,
        "truncated": false,
        "total_count": 0,
        "direct_count": 0,
        "indirect_count": 0
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 3,
        "merged_prs": 2,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 6
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "andreaspfaffenbichler",
          "commits": 2695,
          "avatar_url": "https://avatars.githubusercontent.com/u/6359302?v=4"
        },
        {
          "type": "User",
          "login": "LordHoferias",
          "commits": 14,
          "avatar_url": "https://avatars.githubusercontent.com/u/107194286?v=4"
        },
        {
          "type": "User",
          "login": "quatmax",
          "commits": 10,
          "avatar_url": "https://avatars.githubusercontent.com/u/5999839?v=4"
        },
        {
          "type": "User",
          "login": "Markus87",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/6339979?v=4"
        }
      ],
      "contributors_sampled": 4,
      "top_contributor_share": 0.991
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "doxygen-gh-pages.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": null,
            "reason": "no pull request found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 0,
            "reason": "project has 0 contributing companies or organizations -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "8cd3caaeb7ba7008ec3f194a29dcd5efad9f7c11",
        "ran_at": "2026-07-25T18:30:04Z",
        "aggregate_score": 4.4,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-22T17:45:14Z",
      "oldest_open_prs": [
        {
          "number": 9,
          "created_at": "2026-04-13T22:06:31Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 10,
          "created_at": "2026-04-13T22:06:34Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 11,
          "created_at": "2026-06-22T21:23:48Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-02-04T18:52:27Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/bitfactory-software/anyxx",
    "host": "github.com",
    "name": "anyxx",
    "owner": "bitfactory-software"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 54,
      "inputs": {
        "security": 44,
        "vitality": 88,
        "community": 35,
        "governance": 28,
        "engineering": 72
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 88,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 86,
            "inputs": {
              "commits_last_year": 1465,
              "human_commit_share": 1,
              "days_since_last_push": 3,
              "active_weeks_last_year": 32
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 3 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 3
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "32/52 weeks with commits",
                "points": 22.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 32
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "1465 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 1465
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 23,
              "latest_release_tag": "0.7.0",
              "releases_from_tags": false,
              "days_since_latest_release": 3,
              "mean_days_between_releases": 19.7
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "23 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 23
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 3 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 3
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~19.7 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 19.7
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 3,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 3 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 3
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 35,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 21,
            "inputs": {
              "forks": 1,
              "stars": 16,
              "watchers": 3,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "16 stars",
                "points": 19.1,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 16
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "1 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "3 watchers",
                "points": 1.7,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "critical",
        "name": "Sustainability & Governance",
        "value": 28,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 15,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 4,
              "top_contributor_share": 0.991
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 99% of commits",
                "points": 0.2,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 99
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "4 contributors",
                "points": 5.4,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "critical",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 18,
            "inputs": {
              "merged_prs": 2,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 6
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "2/8 decided PRs merged",
                "points": 9.6,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 2,
                      "decided": 8
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 53,
            "inputs": {
              "followers": 1,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "bitfactory-software",
              "public_repos": 14,
              "account_age_days": 4582
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "1 followers of bitfactory-software",
                "points": 2.2,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 1,
                      "login": "bitfactory-software"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "14 public repos, account ~12 yr old",
                "points": 20.6,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 14
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 12
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 72,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 60,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": "https://www.alexweb.io/anyxx",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://www.alexweb.io/anyxx",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 44,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 44,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 4.4
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "no SAST tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 42,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 21,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.4,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "40 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 21.3,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 40,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "at_risk",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 38,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "C++ (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C++"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "dependency automation configured, none observed in the sampled commits",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "dependency_bot_config_only",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "primary_language": "C++",
              "largest_source_bytes": 204163,
              "source_files_sampled": 85,
              "oversized_source_files": 1
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "C++ (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C++"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "1/85 source files over 60KB",
                "points": 54.4,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 85,
                      "oversized": 1
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-25T18:30:09.986004Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/b/bitfactory-software/anyxx.svg",
  "full_name": "bitfactory-software/anyxx",
  "license_state": "standard",
  "license_spdx": "MIT"
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v1.13.0, schema v0.27.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statistics.