{"adoption": {"forks": 84, "observed_at": "2026-09-01T02:14:00.965131+00:00", "stars": 1140}, "canonical_url": "https://ross.abutalabs.com/products/osdev-notes", "card": {"archived": false, "artifact_type": "learning-resource", "description": "A book that explore how to write an Operating System from scratch", "domain": ["operating-systems", "tutorials", "education", "programming-languages"], "enriched": true, "function": ["documentation", "developer-tools"], "health_score": 97, "homepage": "https://codeberg.org/dreamportdev/Osdev-Notes", "language": "Markdown", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["dreamportdev/Osdev-Notes"], "name": "dreamportdev/Osdev-Notes", "platform": ["cross-platform"], "pushed_at": "2026-08-29T00:33:45+00:00", "repo": "dreamportdev/Osdev-Notes", "stars": 1140, "tags": ["osdev", "kernel-development", "book", "assembly", "c", "bootloaders", "limine", "markdown", "x86-64"], "topics": ["osdev", "os", "programming", "assembly", "x86-64", "c", "kernel", "kernel-development", "kernel-hacking", "operating-system-learning", "operating-systems", "operating-systems-project", "os-development", "hobby-kernel", "hobby-os-kernel", "operating-system-development", "osdev-tutorial", "osdevtutorial"], "urls": [], "use_cases": ["learn how to write an operating system from scratch", "build a hobby kernel for x86-64", "understand bootloaders and boot protocols like Limine", "learn kernel memory management and paging", "understand interrupts, GDT, and APIC", "get started with osdev in C and assembly", "learn how to load and run ELF binaries in userspace"], "what_it_is": "An open-source book (written in Markdown, published as PDF and print) that teaches how to write an operating system kernel from scratch for x86-64. It covers building and booting a kernel, boot protocols like Limine, GDT, interrupts, memory management, scheduling, userspace, and IPC.", "when_to_avoid": ["you need a production-grade OS or driver framework rather than a tutorial", "you target architectures other than x86-64", "you want an interactive course with exercises and grading rather than a book"], "when_to_choose": ["you want a free, structured, chapter-by-chapter guide to kernel development", "you are targeting x86-64 with C and assembly", "you want up-to-date coverage of modern boot protocols like Limine", "you prefer learning by following a real kernel project's evolution"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/osdev-notes", "repo": "dreamportdev/Osdev-Notes", "role": "main", "score": 79}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-01T02:14:00.965131+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:36:14.472066+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5b2d6160103611f1479c38e698d15db92ca13ec26d5172d61542dab50c754c0", "fetched_at": "2026-09-01T02:14:00.965131+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dreamportdev/Osdev-Notes"}, {"content_hash": "8d42d0e5776d041beb27aed29f5c7f86f5a67c7878269b29a482270dc3b1d903", "fetched_at": "2026-08-29T12:41:39.716297+00:00", "kind": "homepage", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.730024+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/00_Introduction/03_AboutTheAuthors.md"}, {"content_hash": "7ffd1ab1d66b50c0472c9e0d4a7f6d0c33ab7f794e9651e54441a92135c1667d", "fetched_at": "2026-08-29T12:41:39.722129+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/faq"}, {"content_hash": "fe3047f34c8127ad351dd0485cc719442a1058651342eee9f181552bdd095f1a", "fetched_at": "2026-08-29T12:41:39.719464+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/what-is-codeberg"}, {"content_hash": "3c642f9d47c9b0b5bf948808da1e54b5976cee9efd327dce4872c3458e5b15aa", "fetched_at": "2026-08-29T12:41:39.733512+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.731668+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/99_Appendices/E_Cross_Compilers.md"}, {"content_hash": "7902dbbb30f9e692c619cac7db0742b37aeec58af37584a7bad76fc79be6cc76", "fetched_at": "2026-08-29T12:41:39.724968+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.728286+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases/tag/latest-master"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-01T02:14:00.965131+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:36:14.472066+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5b2d6160103611f1479c38e698d15db92ca13ec26d5172d61542dab50c754c0", "fetched_at": "2026-09-01T02:14:00.965131+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dreamportdev/Osdev-Notes"}, {"content_hash": "8d42d0e5776d041beb27aed29f5c7f86f5a67c7878269b29a482270dc3b1d903", "fetched_at": "2026-08-29T12:41:39.716297+00:00", "kind": "homepage", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.730024+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/00_Introduction/03_AboutTheAuthors.md"}, {"content_hash": "7ffd1ab1d66b50c0472c9e0d4a7f6d0c33ab7f794e9651e54441a92135c1667d", "fetched_at": "2026-08-29T12:41:39.722129+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/faq"}, {"content_hash": "fe3047f34c8127ad351dd0485cc719442a1058651342eee9f181552bdd095f1a", "fetched_at": "2026-08-29T12:41:39.719464+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/what-is-codeberg"}, {"content_hash": "3c642f9d47c9b0b5bf948808da1e54b5976cee9efd327dce4872c3458e5b15aa", "fetched_at": "2026-08-29T12:41:39.733512+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.731668+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/99_Appendices/E_Cross_Compilers.md"}, {"content_hash": "7902dbbb30f9e692c619cac7db0742b37aeec58af37584a7bad76fc79be6cc76", "fetched_at": "2026-08-29T12:41:39.724968+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.728286+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases/tag/latest-master"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:36:14.472066+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5b2d6160103611f1479c38e698d15db92ca13ec26d5172d61542dab50c754c0", "fetched_at": "2026-09-01T02:14:00.965131+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dreamportdev/Osdev-Notes"}, {"content_hash": "8d42d0e5776d041beb27aed29f5c7f86f5a67c7878269b29a482270dc3b1d903", "fetched_at": "2026-08-29T12:41:39.716297+00:00", "kind": "homepage", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.730024+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/00_Introduction/03_AboutTheAuthors.md"}, {"content_hash": "7ffd1ab1d66b50c0472c9e0d4a7f6d0c33ab7f794e9651e54441a92135c1667d", "fetched_at": "2026-08-29T12:41:39.722129+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/faq"}, {"content_hash": "fe3047f34c8127ad351dd0485cc719442a1058651342eee9f181552bdd095f1a", "fetched_at": "2026-08-29T12:41:39.719464+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/what-is-codeberg"}, {"content_hash": "3c642f9d47c9b0b5bf948808da1e54b5976cee9efd327dce4872c3458e5b15aa", "fetched_at": "2026-08-29T12:41:39.733512+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.731668+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/99_Appendices/E_Cross_Compilers.md"}, {"content_hash": "7902dbbb30f9e692c619cac7db0742b37aeec58af37584a7bad76fc79be6cc76", "fetched_at": "2026-08-29T12:41:39.724968+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.728286+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases/tag/latest-master"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-01T02:14:00.965131+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-01T02:14:00.965131+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-01T02:14:00.965131+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:36:14.472066+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5b2d6160103611f1479c38e698d15db92ca13ec26d5172d61542dab50c754c0", "fetched_at": "2026-09-01T02:14:00.965131+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dreamportdev/Osdev-Notes"}, {"content_hash": "8d42d0e5776d041beb27aed29f5c7f86f5a67c7878269b29a482270dc3b1d903", "fetched_at": "2026-08-29T12:41:39.716297+00:00", "kind": "homepage", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.730024+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/00_Introduction/03_AboutTheAuthors.md"}, {"content_hash": "7ffd1ab1d66b50c0472c9e0d4a7f6d0c33ab7f794e9651e54441a92135c1667d", "fetched_at": "2026-08-29T12:41:39.722129+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/faq"}, {"content_hash": "fe3047f34c8127ad351dd0485cc719442a1058651342eee9f181552bdd095f1a", "fetched_at": "2026-08-29T12:41:39.719464+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/what-is-codeberg"}, {"content_hash": "3c642f9d47c9b0b5bf948808da1e54b5976cee9efd327dce4872c3458e5b15aa", "fetched_at": "2026-08-29T12:41:39.733512+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.731668+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/99_Appendices/E_Cross_Compilers.md"}, {"content_hash": "7902dbbb30f9e692c619cac7db0742b37aeec58af37584a7bad76fc79be6cc76", "fetched_at": "2026-08-29T12:41:39.724968+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.728286+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases/tag/latest-master"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-01T02:14:00.965131+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-01T02:14:00.965131+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:36:14.472066+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5b2d6160103611f1479c38e698d15db92ca13ec26d5172d61542dab50c754c0", "fetched_at": "2026-09-01T02:14:00.965131+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dreamportdev/Osdev-Notes"}, {"content_hash": "8d42d0e5776d041beb27aed29f5c7f86f5a67c7878269b29a482270dc3b1d903", "fetched_at": "2026-08-29T12:41:39.716297+00:00", "kind": "homepage", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.730024+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/00_Introduction/03_AboutTheAuthors.md"}, {"content_hash": "7ffd1ab1d66b50c0472c9e0d4a7f6d0c33ab7f794e9651e54441a92135c1667d", "fetched_at": "2026-08-29T12:41:39.722129+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/faq"}, {"content_hash": "fe3047f34c8127ad351dd0485cc719442a1058651342eee9f181552bdd095f1a", "fetched_at": "2026-08-29T12:41:39.719464+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/what-is-codeberg"}, {"content_hash": "3c642f9d47c9b0b5bf948808da1e54b5976cee9efd327dce4872c3458e5b15aa", "fetched_at": "2026-08-29T12:41:39.733512+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.731668+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/99_Appendices/E_Cross_Compilers.md"}, {"content_hash": "7902dbbb30f9e692c619cac7db0742b37aeec58af37584a7bad76fc79be6cc76", "fetched_at": "2026-08-29T12:41:39.724968+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.728286+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases/tag/latest-master"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-01T02:14:00.965131+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-01T02:14:00.965131+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-01T02:14:00.965131+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:36:14.472066+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5b2d6160103611f1479c38e698d15db92ca13ec26d5172d61542dab50c754c0", "fetched_at": "2026-09-01T02:14:00.965131+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dreamportdev/Osdev-Notes"}, {"content_hash": "8d42d0e5776d041beb27aed29f5c7f86f5a67c7878269b29a482270dc3b1d903", "fetched_at": "2026-08-29T12:41:39.716297+00:00", "kind": "homepage", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.730024+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/00_Introduction/03_AboutTheAuthors.md"}, {"content_hash": "7ffd1ab1d66b50c0472c9e0d4a7f6d0c33ab7f794e9651e54441a92135c1667d", "fetched_at": "2026-08-29T12:41:39.722129+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/faq"}, {"content_hash": "fe3047f34c8127ad351dd0485cc719442a1058651342eee9f181552bdd095f1a", "fetched_at": "2026-08-29T12:41:39.719464+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/what-is-codeberg"}, {"content_hash": "3c642f9d47c9b0b5bf948808da1e54b5976cee9efd327dce4872c3458e5b15aa", "fetched_at": "2026-08-29T12:41:39.733512+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.731668+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/99_Appendices/E_Cross_Compilers.md"}, {"content_hash": "7902dbbb30f9e692c619cac7db0742b37aeec58af37584a7bad76fc79be6cc76", "fetched_at": "2026-08-29T12:41:39.724968+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.728286+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases/tag/latest-master"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-01T02:14:00.965131+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-01T02:14:00.965131+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:36:14.472066+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5b2d6160103611f1479c38e698d15db92ca13ec26d5172d61542dab50c754c0", "fetched_at": "2026-09-01T02:14:00.965131+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dreamportdev/Osdev-Notes"}, {"content_hash": "8d42d0e5776d041beb27aed29f5c7f86f5a67c7878269b29a482270dc3b1d903", "fetched_at": "2026-08-29T12:41:39.716297+00:00", "kind": "homepage", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.730024+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/00_Introduction/03_AboutTheAuthors.md"}, {"content_hash": "7ffd1ab1d66b50c0472c9e0d4a7f6d0c33ab7f794e9651e54441a92135c1667d", "fetched_at": "2026-08-29T12:41:39.722129+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/faq"}, {"content_hash": "fe3047f34c8127ad351dd0485cc719442a1058651342eee9f181552bdd095f1a", "fetched_at": "2026-08-29T12:41:39.719464+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/what-is-codeberg"}, {"content_hash": "3c642f9d47c9b0b5bf948808da1e54b5976cee9efd327dce4872c3458e5b15aa", "fetched_at": "2026-08-29T12:41:39.733512+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.731668+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/99_Appendices/E_Cross_Compilers.md"}, {"content_hash": "7902dbbb30f9e692c619cac7db0742b37aeec58af37584a7bad76fc79be6cc76", "fetched_at": "2026-08-29T12:41:39.724968+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.728286+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases/tag/latest-master"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:36:14.472066+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5b2d6160103611f1479c38e698d15db92ca13ec26d5172d61542dab50c754c0", "fetched_at": "2026-09-01T02:14:00.965131+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dreamportdev/Osdev-Notes"}, {"content_hash": "8d42d0e5776d041beb27aed29f5c7f86f5a67c7878269b29a482270dc3b1d903", "fetched_at": "2026-08-29T12:41:39.716297+00:00", "kind": "homepage", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.730024+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/00_Introduction/03_AboutTheAuthors.md"}, {"content_hash": "7ffd1ab1d66b50c0472c9e0d4a7f6d0c33ab7f794e9651e54441a92135c1667d", "fetched_at": "2026-08-29T12:41:39.722129+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/faq"}, {"content_hash": "fe3047f34c8127ad351dd0485cc719442a1058651342eee9f181552bdd095f1a", "fetched_at": "2026-08-29T12:41:39.719464+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/what-is-codeberg"}, {"content_hash": "3c642f9d47c9b0b5bf948808da1e54b5976cee9efd327dce4872c3458e5b15aa", "fetched_at": "2026-08-29T12:41:39.733512+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.731668+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/99_Appendices/E_Cross_Compilers.md"}, {"content_hash": "7902dbbb30f9e692c619cac7db0742b37aeec58af37584a7bad76fc79be6cc76", "fetched_at": "2026-08-29T12:41:39.724968+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.728286+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases/tag/latest-master"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:36:14.472066+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5b2d6160103611f1479c38e698d15db92ca13ec26d5172d61542dab50c754c0", "fetched_at": "2026-09-01T02:14:00.965131+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dreamportdev/Osdev-Notes"}, {"content_hash": "8d42d0e5776d041beb27aed29f5c7f86f5a67c7878269b29a482270dc3b1d903", "fetched_at": "2026-08-29T12:41:39.716297+00:00", "kind": "homepage", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.730024+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/00_Introduction/03_AboutTheAuthors.md"}, {"content_hash": "7ffd1ab1d66b50c0472c9e0d4a7f6d0c33ab7f794e9651e54441a92135c1667d", "fetched_at": "2026-08-29T12:41:39.722129+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/faq"}, {"content_hash": "fe3047f34c8127ad351dd0485cc719442a1058651342eee9f181552bdd095f1a", "fetched_at": "2026-08-29T12:41:39.719464+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/what-is-codeberg"}, {"content_hash": "3c642f9d47c9b0b5bf948808da1e54b5976cee9efd327dce4872c3458e5b15aa", "fetched_at": "2026-08-29T12:41:39.733512+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.731668+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/99_Appendices/E_Cross_Compilers.md"}, {"content_hash": "7902dbbb30f9e692c619cac7db0742b37aeec58af37584a7bad76fc79be6cc76", "fetched_at": "2026-08-29T12:41:39.724968+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.728286+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases/tag/latest-master"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:36:14.472066+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5b2d6160103611f1479c38e698d15db92ca13ec26d5172d61542dab50c754c0", "fetched_at": "2026-09-01T02:14:00.965131+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dreamportdev/Osdev-Notes"}, {"content_hash": "8d42d0e5776d041beb27aed29f5c7f86f5a67c7878269b29a482270dc3b1d903", "fetched_at": "2026-08-29T12:41:39.716297+00:00", "kind": "homepage", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.730024+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/00_Introduction/03_AboutTheAuthors.md"}, {"content_hash": "7ffd1ab1d66b50c0472c9e0d4a7f6d0c33ab7f794e9651e54441a92135c1667d", "fetched_at": "2026-08-29T12:41:39.722129+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/faq"}, {"content_hash": "fe3047f34c8127ad351dd0485cc719442a1058651342eee9f181552bdd095f1a", "fetched_at": "2026-08-29T12:41:39.719464+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org/getting-started/what-is-codeberg"}, {"content_hash": "3c642f9d47c9b0b5bf948808da1e54b5976cee9efd327dce4872c3458e5b15aa", "fetched_at": "2026-08-29T12:41:39.733512+00:00", "kind": "site_page", "missing": false, "url": "https://docs.codeberg.org"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.731668+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/src/branch/master/99_Appendices/E_Cross_Compilers.md"}, {"content_hash": "7902dbbb30f9e692c619cac7db0742b37aeec58af37584a7bad76fc79be6cc76", "fetched_at": "2026-08-29T12:41:39.724968+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases"}, {"content_hash": "b1e458d5b059ec47a0c66fa3248b84991f4b274f378a15f706a18412e781c2ce", "fetched_at": "2026-08-29T12:41:39.728286+00:00", "kind": "site_page", "missing": false, "url": "https://codeberg.org/dreamportdev/Osdev-Notes/releases/tag/latest-master"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 39}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1866, "days_push": 5, "days_rel": 193, "gap_med": 264.0, "n_releases_24m": 3}, "score": 79, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 5, "stale_scrape": false}}