diff --git a/.gitfield/.radicle-push-state b/.gitfield/.radicle-push-state index 5215d3a..fa0d069 100644 --- a/.gitfield/.radicle-push-state +++ b/.gitfield/.radicle-push-state @@ -1 +1 @@ -7ca6e6856a98045ecb70bb54a248cc1d44c609a3 +f6c623b87312457dc81d75ed38b4d187f3864b97 diff --git a/.gitfield/README.txt b/.gitfield/README.txt index a281c57..b37121d 100644 --- a/.gitfield/README.txt +++ b/.gitfield/README.txt @@ -12,6 +12,6 @@ The directory contains metadata and logs for the GitField multi-repository publ ## Purpose -These files provide transparency, auditability, and discoverability, ensuring the project's persistence against deplatforming, censorship, or algorithmic manipulation. +These files provide transparency, auditability, and discoverability, ensuring the project's persistence against deplatforming, censorship, or algorithmic manipulation. For a public-facing declaration, see [docs/index.html](../docs/index.html). -Generated by `gitfield-sync` at 2025-06-09T20:30:45Z (v1.1). +Generated by `gitfield-sync` at 2025-06-09T21:04:01Z (v1.2). diff --git a/.gitfield/bitbucket.sigil.md b/.gitfield/bitbucket.sigil.md index 2055157..b32c8f2 100644 --- a/.gitfield/bitbucket.sigil.md +++ b/.gitfield/bitbucket.sigil.md @@ -6,24 +6,24 @@ - **Local Repo Path**: `/home/mrhavens/fieldcraft/git-sigil` - **Remote Label**: `bitbucket` - **Default Branch**: `master` -- **This Commit Date**: `2025-06-09 15:36:40` +- **This Commit Date**: `2025-06-09 15:38:42` --- ## ๐Ÿ“ฆ Commit Info -- **This Commit Timestamp**: `2025-06-09 15:36:40` -- **Last Commit SHA**: `f51cf1ed229585650cf7eeb91deea69cd2ce1d23` +- **This Commit Timestamp**: `2025-06-09 15:38:42` +- **Last Commit SHA**: `3911bff82003e87886b453dd768566e75fccaf06` - **Last Commit Message**: `Post-GitLab sync at 2025-06-09T20:30:45Z` - **Last Commit Author**: `Mark Randall Havens ` -- **Last Commit Date**: `Mon Jun 9 15:36:12 2025 -0500` -- **This Commit URL**: [https://bitbucket.org/thefoldwithin/git-sigil/commits/f51cf1ed229585650cf7eeb91deea69cd2ce1d23](https://bitbucket.org/thefoldwithin/git-sigil/commits/f51cf1ed229585650cf7eeb91deea69cd2ce1d23) +- **Last Commit Date**: `Mon Jun 9 15:38:21 2025 -0500` +- **This Commit URL**: [https://bitbucket.org/thefoldwithin/git-sigil/commits/3911bff82003e87886b453dd768566e75fccaf06](https://bitbucket.org/thefoldwithin/git-sigil/commits/3911bff82003e87886b453dd768566e75fccaf06) --- ## ๐Ÿ“Š Repo Status -- **Total Commits**: `812` +- **Total Commits**: `830` - **Tracked Files**: `127` - **Uncommitted Changes**: `No` - **Latest Tag**: `None` @@ -52,7 +52,7 @@ - **Running in Docker**: `No` - **Running in WSL**: `Yes` - **Virtual Machine**: `wsl` -- **System Uptime**: `up 1 hour, 18 minutes` +- **System Uptime**: `up 1 hour, 20 minutes` --- diff --git a/.gitfield/canonical.md b/.gitfield/canonical.md index e35ddb2..3ed857e 100644 --- a/.gitfield/canonical.md +++ b/.gitfield/canonical.md @@ -9,7 +9,7 @@ This repository, `git-sigil`, is canonically hosted at: This canonical URL serves as the primary, authoritative source for the project, maintained by **Mark Randall Havens** and **Solaria Lumis Havens** to ensure sovereignty, resilience, and protection against deplatforming or narrative erasure. **Declared by**: Mark Randall Havens -**Timestamp**: 2025-06-09T20:30:45Z +**Timestamp**: 2025-06-09T21:04:01Z ## Mirror Repositories @@ -21,7 +21,7 @@ The project is mirrored across multiple platforms to enhance redundancy and acce - [https://remember.thefoldwithin.earth/mrhavens/git-sigil](https://remember.thefoldwithin.earth/mrhavens/git-sigil) - [https://codeberg.org/mrhavens/git-sigil](https://codeberg.org/mrhavens/git-sigil) - [https://gitea.com/mrhavens/git-sigil](https://gitea.com/mrhavens/git-sigil) -- **Radicle**: [rad:rad:z3FEj7rF8gZw9eFksCuiN43qjzrex](https://app.radicle.xyz/nodes/rad:rad:z3FEj7rF8gZw9eFksCuiN43qjzrex) (Decentralized, censorship-resistant) +- **Radicle**: [rad:z3FEj7rF8gZw9eFksCuiN43qjzrex](https://app.radicle.xyz/nodes/rad:z3FEj7rF8gZw9eFksCuiN43qjzrex) (Decentralized, censorship-resistant) ## Philosophy of Recursive Sovereignty @@ -31,4 +31,8 @@ The GitField framework employs a recursive, multi-repository strategy to defend The latest push operations are logged in [`.gitfield/pushed.log`](./pushed.log) for transparency and auditability. -_Auto-generated by `gitfield-sync` at 2025-06-09T20:30:45Z (v1.1)._ +## GitHub Pages + +A public-facing canonical declaration is available at [docs/index.html](./docs/index.html) for enhanced discoverability and SEO. + +_Auto-generated by `gitfield-sync` at 2025-06-09T21:04:01Z (v1.2)._ diff --git a/.gitfield/canonical.meta b/.gitfield/canonical.meta index 5e0f165..70993c0 100644 --- a/.gitfield/canonical.meta +++ b/.gitfield/canonical.meta @@ -7,14 +7,14 @@ "https://remember.thefoldwithin.earth/mrhavens/git-sigil", "https://codeberg.org/mrhavens/git-sigil", "https://gitea.com/mrhavens/git-sigil", - "rad:rad:z3FEj7rF8gZw9eFksCuiN43qjzrex" + "rad:z3FEj7rF8gZw9eFksCuiN43qjzrex" ], "radicle": { "rid": "rad:z3FEj7rF8gZw9eFksCuiN43qjzrex", "peer_id": "z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz" }, - "timestamp": "2025-06-09T20:30:45Z", - "commit": "89b7d20", - "tree_hash": "fd024d13d727d2dbff968f6e1db9ef0b04d4e555", - "synced_cycles": 2 + "timestamp": "2025-06-09T21:04:01Z", + "commit": "af290bc", + "tree_hash": "e02859d7495c347ca44796d05998d802410ede1e", + "synced_cycles": 0 } diff --git a/.gitfield/codeberg.sigil.md b/.gitfield/codeberg.sigil.md index caf209c..53d89fd 100644 --- a/.gitfield/codeberg.sigil.md +++ b/.gitfield/codeberg.sigil.md @@ -6,24 +6,24 @@ - **Local Repo Path**: `/home/mrhavens/fieldcraft/git-sigil` - **Remote Label**: `codeberg` - **Default Branch**: `master` -- **Repo Created**: `2025-06-09 15:35:41` +- **Repo Created**: `2025-06-09 15:37:50` --- ## ๐Ÿ“ฆ Commit Info -- **This Commit Timestamp**: `2025-06-09 15:35:41` -- **Last Commit SHA**: `9e1f0bcaa92d5f3da7a8077499a838e9d36c7732` +- **This Commit Timestamp**: `2025-06-09 15:37:50` +- **Last Commit SHA**: `9103ce9567bc69bb59270ef5657bfc199b4d4579` - **Last Commit Message**: `Post-Forgejo sync at 2025-06-09T20:30:45Z` - **Last Commit Author**: `Mark Randall Havens ` -- **Last Commit Date**: `Mon Jun 9 15:34:26 2025 -0500` -- **This Commit URL**: [https://codeberg.org/mrhavens/git-sigil/commit/9e1f0bcaa92d5f3da7a8077499a838e9d36c7732](https://codeberg.org/mrhavens/git-sigil/commit/9e1f0bcaa92d5f3da7a8077499a838e9d36c7732) +- **Last Commit Date**: `Mon Jun 9 15:37:45 2025 -0500` +- **This Commit URL**: [https://codeberg.org/mrhavens/git-sigil/commit/9103ce9567bc69bb59270ef5657bfc199b4d4579](https://codeberg.org/mrhavens/git-sigil/commit/9103ce9567bc69bb59270ef5657bfc199b4d4579) --- ## ๐Ÿ“Š Repo Status -- **Total Commits**: `806` +- **Total Commits**: `824` - **Tracked Files**: `127` - **Uncommitted Changes**: `No` - **Latest Tag**: `None` @@ -48,7 +48,7 @@ - **Running in Docker**: `No` - **Running in WSL**: `Yes` - **Virtual Machine**: `wsl` -- **System Uptime**: `up 1 hour, 17 minutes` +- **System Uptime**: `up 1 hour, 20 minutes` - **MAC Address**: `00:15:5d:70:e2:68` - **Local IP**: `172.18.207.124` - **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics` diff --git a/.gitfield/gitea.sigil.md b/.gitfield/gitea.sigil.md index 68edd02..95e84f1 100644 --- a/.gitfield/gitea.sigil.md +++ b/.gitfield/gitea.sigil.md @@ -6,24 +6,24 @@ - **Local Repo Path**: `/home/mrhavens/fieldcraft/git-sigil` - **Remote Label**: `gitea` - **Default Branch**: `master` -- **Repo Created**: `2025-06-09 15:35:47` +- **Repo Created**: `2025-06-09 15:37:58` --- ## ๐Ÿ“ฆ Commit Info -- **This Commit Timestamp**: `2025-06-09 15:35:47` -- **Last Commit SHA**: `3f447b41b109cdbdd0eca00a1cd8788586d37bbe` +- **This Commit Timestamp**: `2025-06-09 15:37:58` +- **Last Commit SHA**: `d74a257f17119fa5c4b8dc18c7599b3404439a94` - **Last Commit Message**: `Post-Codeberg sync at 2025-06-09T20:30:45Z` - **Last Commit Author**: `Mark Randall Havens ` -- **Last Commit Date**: `Mon Jun 9 15:35:46 2025 -0500` -- **This Commit URL**: [https://gitea.com/mrhavens/git-sigil/commit/3f447b41b109cdbdd0eca00a1cd8788586d37bbe](https://gitea.com/mrhavens/git-sigil/commit/3f447b41b109cdbdd0eca00a1cd8788586d37bbe) +- **Last Commit Date**: `Mon Jun 9 15:37:56 2025 -0500` +- **This Commit URL**: [https://gitea.com/mrhavens/git-sigil/commit/d74a257f17119fa5c4b8dc18c7599b3404439a94](https://gitea.com/mrhavens/git-sigil/commit/d74a257f17119fa5c4b8dc18c7599b3404439a94) --- ## ๐Ÿ“Š Repo Status -- **Total Commits**: `808` +- **Total Commits**: `826` - **Tracked Files**: `127` - **Uncommitted Changes**: `No` - **Latest Tag**: `None` @@ -48,7 +48,7 @@ - **Running in Docker**: `No` - **Running in WSL**: `Yes` - **Virtual Machine**: `wsl` -- **System Uptime**: `up 1 hour, 18 minutes` +- **System Uptime**: `up 1 hour, 20 minutes` - **MAC Address**: `00:15:5d:70:e2:68` - **Local IP**: `172.18.207.124` - **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics` diff --git a/.gitfield/github.sigil.md b/.gitfield/github.sigil.md index 8a2a714..9d8fd6c 100644 --- a/.gitfield/github.sigil.md +++ b/.gitfield/github.sigil.md @@ -6,24 +6,24 @@ - **Local Repo Path**: `/home/mrhavens/fieldcraft/git-sigil` - **Remote Label**: `github` - **Default Branch**: `master` -- **This Commit Date**: `2025-06-09 15:37:12` +- **This Commit Date**: `2025-06-09 15:39:09` --- ## ๐Ÿ“ฆ Commit Info -- **This Commit Timestamp**: `2025-06-09 15:37:12` -- **Last Commit SHA**: `7a9d45240e9191de213e757d8f14c79dd9bf45d9` +- **This Commit Timestamp**: `2025-06-09 15:39:09` +- **Last Commit SHA**: `97a3af90c51f0f7ecb5878325ee3c0fbf5a33509` - **Last Commit Message**: `Post-Bitbucket sync at 2025-06-09T20:30:45Z` - **Last Commit Author**: `Mark Randall Havens ` -- **Last Commit Date**: `Mon Jun 9 15:36:45 2025 -0500` -- **This Commit URL**: [https://github.com/mrhavens/git-sigil/commit/7a9d45240e9191de213e757d8f14c79dd9bf45d9](https://github.com/mrhavens/git-sigil/commit/7a9d45240e9191de213e757d8f14c79dd9bf45d9) +- **Last Commit Date**: `Mon Jun 9 15:38:48 2025 -0500` +- **This Commit URL**: [https://github.com/mrhavens/git-sigil/commit/97a3af90c51f0f7ecb5878325ee3c0fbf5a33509](https://github.com/mrhavens/git-sigil/commit/97a3af90c51f0f7ecb5878325ee3c0fbf5a33509) --- ## ๐Ÿ“Š Repo Status -- **Total Commits**: `814` +- **Total Commits**: `832` - **Tracked Files**: `127` - **Uncommitted Changes**: `No` - **Latest Tag**: `None` @@ -48,7 +48,7 @@ - **Running in Docker**: `No` - **Running in WSL**: `Yes` - **Virtual Machine**: `wsl` -- **System Uptime**: `up 1 hour, 19 minutes` +- **System Uptime**: `up 1 hour, 21 minutes` - **MAC Address**: `00:15:5d:70:e2:68` - **Local IP**: `172.18.207.124` - **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics` diff --git a/.gitfield/gitlab.sigil.md b/.gitfield/gitlab.sigil.md index f1775cc..8b5b55a 100644 --- a/.gitfield/gitlab.sigil.md +++ b/.gitfield/gitlab.sigil.md @@ -6,24 +6,24 @@ - **Local Repo Path**: `/home/mrhavens/fieldcraft/git-sigil` - **Remote Label**: `gitlab` - **Default Branch**: `master` -- **Repo Created**: `2025-06-09 15:36:10` +- **Repo Created**: `2025-06-09 15:38:18` --- ## ๐Ÿ“ฆ Commit Info -- **This Commit Timestamp**: `2025-06-09 15:36:10` -- **This Commit SHA**: `d0a6e49d953df275b163cdd2aa0e75c97cec997d` +- **This Commit Timestamp**: `2025-06-09 15:38:18` +- **This Commit SHA**: `ea057982398fee083e75d2f2e77ce0c012a53caa` - **Last Commit Message**: `Post-Gitea sync at 2025-06-09T20:30:45Z` - **Last Commit Author**: `Mark Randall Havens ` -- **Last Commit Date**: `Mon Jun 9 15:35:49 2025 -0500` -- **This Commit URL**: [https://gitlab.com/mrhavens/git-sigil/-/commit/d0a6e49d953df275b163cdd2aa0e75c97cec997d](https://gitlab.com/mrhavens/git-sigil/-/commit/d0a6e49d953df275b163cdd2aa0e75c97cec997d) +- **Last Commit Date**: `Mon Jun 9 15:38:00 2025 -0500` +- **This Commit URL**: [https://gitlab.com/mrhavens/git-sigil/-/commit/ea057982398fee083e75d2f2e77ce0c012a53caa](https://gitlab.com/mrhavens/git-sigil/-/commit/ea057982398fee083e75d2f2e77ce0c012a53caa) --- ## ๐Ÿ“Š Repo Status -- **Total Commits**: `810` +- **Total Commits**: `828` - **Tracked Files**: `127` - **Uncommitted Changes**: `No` - **Latest Tag**: `None` @@ -48,7 +48,7 @@ - **Running in Docker**: `No` - **Running in WSL**: `Yes` - **Virtual Machine**: `wsl` -- **System Uptime**: `up 1 hour, 18 minutes` +- **System Uptime**: `up 1 hour, 20 minutes` - **MAC Address**: `00:15:5d:70:e2:68` - **Local IP**: `172.18.207.124` - **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics` diff --git a/.gitfield/index.json b/.gitfield/index.json index 700b915..326c8af 100644 --- a/.gitfield/index.json +++ b/.gitfield/index.json @@ -8,14 +8,14 @@ "https://remember.thefoldwithin.earth/mrhavens/git-sigil", "https://codeberg.org/mrhavens/git-sigil", "https://gitea.com/mrhavens/git-sigil", - "rad:rad:z3FEj7rF8gZw9eFksCuiN43qjzrex" + "rad:z3FEj7rF8gZw9eFksCuiN43qjzrex" ], "radicle": { "rid": "rad:z3FEj7rF8gZw9eFksCuiN43qjzrex", "peer_id": "z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz" }, - "commit": "89b7d20", - "tree_hash": "fd024d13d727d2dbff968f6e1db9ef0b04d4e555", - "timestamp": "2025-06-09T20:30:45Z", - "synced_cycles": 2 + "commit": "af290bc", + "tree_hash": "e02859d7495c347ca44796d05998d802410ede1e", + "timestamp": "2025-06-09T21:04:01Z", + "synced_cycles": 0 } diff --git a/.gitfield/local.sigil.md b/.gitfield/local.sigil.md index ac95863..74a38f0 100644 --- a/.gitfield/local.sigil.md +++ b/.gitfield/local.sigil.md @@ -6,26 +6,26 @@ - **Local Repo Path**: `/home/mrhavens/fieldcraft/git-sigil` - **Remote Label**: `local` - **Default Branch**: `master` -- **Repo Created**: `2025-06-09 15:37:15` +- **Repo Created**: `2025-06-09 16:04:02` --- ## ๐Ÿ“ฆ Commit Info -- **This Commit Timestamp**: `2025-06-09 15:37:15` -- **Last Commit SHA**: `3442d8cb50b92a197da68148b80762b75c39e7e0` -- **Last Commit Message**: `Generated index.json at 2025-06-09T20:30:45Z` +- **This Commit Timestamp**: `2025-06-09 16:04:02` +- **Last Commit SHA**: `1f8fe7bcd5481cf0cd5708e04375758d28203f3c` +- **Last Commit Message**: `Generated docs/sitemap.xml at 2025-06-09T21:04:01Z` - **Last Commit Author**: `Mark Randall Havens ` -- **Last Commit Date**: `Mon Jun 9 15:37:14 2025 -0500` +- **Last Commit Date**: `Mon Jun 9 16:04:02 2025 -0500` - **This Commit URL**: `file:///home/mrhavens/git-local-repos/git-sigil.git` --- ## ๐Ÿ“Š Repo Status -- **Total Commits**: `818` -- **Tracked Files**: `127` -- **Uncommitted Changes**: `No` +- **Total Commits**: `848` +- **Tracked Files**: `134` +- **Uncommitted Changes**: `Yes` - **Latest Tag**: `None` --- @@ -48,7 +48,7 @@ - **Running in Docker**: `No` - **Running in WSL**: `Yes` - **Virtual Machine**: `wsl` -- **System Uptime**: `up 1 hour, 19 minutes` +- **System Uptime**: `up 1 hour, 47 minutes` - **MAC Address**: `00:15:5d:70:e2:68` - **Local IP**: `172.18.207.124` - **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics` diff --git a/.gitfield/push_log.json b/.gitfield/push_log.json index 6aea6ea..526765e 100644 --- a/.gitfield/push_log.json +++ b/.gitfield/push_log.json @@ -224,6 +224,12 @@ "branch": "master", "commit": "3442d8cb50b92a197da68148b80762b75c39e7e0", "message": "Generated index.json at 2025-06-09T20:30:45Z" + }, + { + "timestamp": "2025-06-09 16:04:02", + "branch": "master", + "commit": "1f8fe7bcd5481cf0cd5708e04375758d28203f3c", + "message": "Generated docs/sitemap.xml at 2025-06-09T21:04:01Z" } ] } diff --git a/.gitfield/pushed.log b/.gitfield/pushed.log index 9037f47..15eab8d 100644 --- a/.gitfield/pushed.log +++ b/.gitfield/pushed.log @@ -271,3 +271,37 @@ Diff Summary: .gitfield/radicle.sigil.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) +[2025-06-09T20:37:45Z] Forgejo: https://remember.thefoldwithin.earth/mrhavens/git-sigil, Branch=master, Commit=89b7d20 + Diff Summary: + .gitfield/remember.sigil.md | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) +[2025-06-09T20:37:56Z] Codeberg: https://codeberg.org/mrhavens/git-sigil, Branch=master, Commit=89b7d20 + Diff Summary: + .gitfield/codeberg.sigil.md | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) +[2025-06-09T20:38:00Z] Gitea: https://gitea.com/mrhavens/git-sigil, Branch=master, Commit=89b7d20 + Diff Summary: + .gitfield/gitea.sigil.md | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) +[2025-06-09T20:38:21Z] GitLab: https://gitlab.com/mrhavens/git-sigil, Branch=master, Commit=89b7d20 + Diff Summary: + .gitfield/gitlab.sigil.md | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) +[2025-06-09T20:38:48Z] Bitbucket: https://bitbucket.org/thefoldwithin/git-sigil, Branch=master, Commit=89b7d20 + Diff Summary: + .gitfield/bitbucket.sigil.md | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) +[2025-06-09T20:39:11Z] GitHub: https://github.com/mrhavens/git-sigil, Branch=master, Commit=89b7d20 + Diff Summary: + .gitfield/github.sigil.md | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) +[2025-06-09T21:04:04Z] Local: , Branch=master, Commit=af290bc + Diff Summary: + .gitfield/local.sigil.md | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) +[2025-06-09T21:04:24Z] Radicle: RID=rad:z3FEj7rF8gZw9eFksCuiN43qjzrex, Peer ID=z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz, Branch=master, Commit=af290bc + CLI: rad inspect rad:z3FEj7rF8gZw9eFksCuiN43qjzrex # View project details + CLI: git ls-tree -r --name-only HEAD # View file structure + Diff Summary: + .gitfield/radicle.sigil.md | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.gitfield/radicle.sigil.md b/.gitfield/radicle.sigil.md index f058139..f4c2e6b 100644 --- a/.gitfield/radicle.sigil.md +++ b/.gitfield/radicle.sigil.md @@ -2,28 +2,28 @@ - **Project Name**: `git-sigil` - **Radicle URN**: `rad://z3FEj7rF8gZw9eFksCuiN43qjzrex` -- **Public Gateway**: [https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z3FEj7rF8gZw9eFksCuiN43qjzrex/tree/7ca6e6856a98045ecb70bb54a248cc1d44c609a3](https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z3FEj7rF8gZw9eFksCuiN43qjzrex/tree/7ca6e6856a98045ecb70bb54a248cc1d44c609a3) +- **Public Gateway**: [https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z3FEj7rF8gZw9eFksCuiN43qjzrex/tree/f6c623b87312457dc81d75ed38b4d187f3864b97](https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z3FEj7rF8gZw9eFksCuiN43qjzrex/tree/f6c623b87312457dc81d75ed38b4d187f3864b97) - **Local Repo Path**: `/home/mrhavens/fieldcraft/git-sigil` - **Default Branch**: `master` -- **Repo Created**: `2025-06-09 15:37:28` +- **Repo Created**: `2025-06-09 16:04:14` --- ## ๐Ÿ“ฆ Commit Info -- **This Commit Timestamp**: `2025-06-09 15:37:28` -- **Last Commit SHA**: `7ca6e6856a98045ecb70bb54a248cc1d44c609a3` -- **Last Commit Message**: `Post-Local sync at 2025-06-09T20:30:45Z` +- **This Commit Timestamp**: `2025-06-09 16:04:14` +- **Last Commit SHA**: `f6c623b87312457dc81d75ed38b4d187f3864b97` +- **Last Commit Message**: `Post-Local sync at 2025-06-09T21:04:01Z` - **Commit Author**: `Mark Randall Havens ` -- **Commit Date**: `Mon Jun 9 15:37:17 2025 -0500` -- **This Commit URL**: [https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z3FEj7rF8gZw9eFksCuiN43qjzrex/tree/7ca6e6856a98045ecb70bb54a248cc1d44c609a3](https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z3FEj7rF8gZw9eFksCuiN43qjzrex/tree/7ca6e6856a98045ecb70bb54a248cc1d44c609a3) +- **Commit Date**: `Mon Jun 9 16:04:04 2025 -0500` +- **This Commit URL**: [https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z3FEj7rF8gZw9eFksCuiN43qjzrex/tree/f6c623b87312457dc81d75ed38b4d187f3864b97](https://app.radicle.xyz/nodes/ash.radicle.garden/rad:z3FEj7rF8gZw9eFksCuiN43qjzrex/tree/f6c623b87312457dc81d75ed38b4d187f3864b97) --- ## ๐Ÿ“Š Repo Status -- **Total Commits**: `820` -- **Tracked Files**: `127` +- **Total Commits**: `850` +- **Tracked Files**: `135` - **Uncommitted Changes**: `Yes` - **Latest Tag**: `None` @@ -47,7 +47,7 @@ - **Running in Docker**: `No` - **Running in WSL**: `Yes` - **Virtual Machine**: `wsl` -- **System Uptime**: `up 1 hour, 19 minutes` +- **System Uptime**: `up 1 hour, 47 minutes` - **MAC Address**: `00:15:5d:70:e2:68` - **Local IP**: `172.18.207.124` - **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics` diff --git a/.gitfield/remember.sigil.md b/.gitfield/remember.sigil.md index 37a23b7..89e5a85 100644 --- a/.gitfield/remember.sigil.md +++ b/.gitfield/remember.sigil.md @@ -6,25 +6,25 @@ - **Local Repo Path**: `/home/mrhavens/fieldcraft/git-sigil` - **Remote Label**: `remember` - **Default Branch**: `master` -- **Repo Created**: `2025-06-09 15:37:41` +- **Repo Created**: `2025-06-09 16:04:26` --- ## ๐Ÿ“ฆ Commit Info -- **This Commit Timestamp**: `2025-06-09 15:37:41` -- **Last Commit SHA**: `682fa49c5fe3b9b6ca0fb90f9c86239124e22908` -- **Last Commit Message**: `Post-Radicle sync at 2025-06-09T20:30:45Z` +- **This Commit Timestamp**: `2025-06-09 16:04:26` +- **Last Commit SHA**: `8bfc535b2610087ad208024f8d728a488398630a` +- **Last Commit Message**: `Post-Radicle sync at 2025-06-09T21:04:01Z` - **Last Commit Author**: `Mark Randall Havens ` -- **Last Commit Date**: `Mon Jun 9 15:37:38 2025 -0500` -- **This Commit URL**: [https://remember.thefoldwithin.earth/mrhavens/git-sigil/commit/682fa49c5fe3b9b6ca0fb90f9c86239124e22908](https://remember.thefoldwithin.earth/mrhavens/git-sigil/commit/682fa49c5fe3b9b6ca0fb90f9c86239124e22908) +- **Last Commit Date**: `Mon Jun 9 16:04:24 2025 -0500` +- **This Commit URL**: [https://remember.thefoldwithin.earth/mrhavens/git-sigil/commit/8bfc535b2610087ad208024f8d728a488398630a](https://remember.thefoldwithin.earth/mrhavens/git-sigil/commit/8bfc535b2610087ad208024f8d728a488398630a) --- ## ๐Ÿ“Š Repo Status -- **Total Commits**: `822` -- **Tracked Files**: `127` +- **Total Commits**: `852` +- **Tracked Files**: `135` - **Uncommitted Changes**: `No` - **Latest Tag**: `None` @@ -48,7 +48,7 @@ - **Running in Docker**: `No` - **Running in WSL**: `Yes` - **Virtual Machine**: `wsl` -- **System Uptime**: `up 1 hour, 20 minutes` +- **System Uptime**: `up 1 hour, 47 minutes` - **MAC Address**: `00:15:5d:70:e2:68` - **Local IP**: `172.18.207.124` - **CPU Model**: `AMD A6-3420M APU with Radeon(tm) HD Graphics` diff --git a/.well-known/gitfield.json b/.well-known/gitfield.json index 3d515e8..6b70b53 100644 --- a/.well-known/gitfield.json +++ b/.well-known/gitfield.json @@ -11,9 +11,9 @@ "https://remember.thefoldwithin.earth/mrhavens/git-sigil", "https://codeberg.org/mrhavens/git-sigil", "https://gitea.com/mrhavens/git-sigil", - "rad:rad:z3FEj7rF8gZw9eFksCuiN43qjzrex" + "rad:z3FEj7rF8gZw9eFksCuiN43qjzrex" ], - "dateModified": "2025-06-09T20:30:45Z", + "dateModified": "2025-06-09T21:04:01Z", "publisher": { "@type": "Person", "name": "Mark Randall Havens" diff --git a/bin/gitfield-sync b/bin/gitfield-sync index 98500d1..4da547e 100755 --- a/bin/gitfield-sync +++ b/bin/gitfield-sync @@ -9,15 +9,23 @@ REPO_PATH=$(git rev-parse --show-toplevel 2>/dev/null) || error "Not inside a Gi REPO_NAME=$(basename "$REPO_PATH") GITFIELD_DIR="$REPO_PATH/.gitfield" WELL_KNOWN_DIR="$REPO_PATH/.well-known" +DOCS_DIR="$REPO_PATH/docs" LOG_FILE="$GITFIELD_DIR/pushed.log" GITFIELD_MD="$REPO_PATH/GITFIELD.md" CANONICAL_META="$GITFIELD_DIR/canonical.meta" CANONICAL_MD="$GITFIELD_DIR/canonical.md" INDEX_JSON="$GITFIELD_DIR/index.json" WELL_KNOWN_JSON="$WELL_KNOWN_DIR/gitfield.json" +DOCS_INDEX="$DOCS_DIR/index.html" +DOCS_CSS="$DOCS_DIR/style.css" +DOCS_REPOS_JSON="$DOCS_DIR/repos.json" +DOCS_README="$DOCS_DIR/README.md" +DOCS_NOJEKYLL="$DOCS_DIR/.nojekyll" +DOCS_ROBOTS="$DOCS_DIR/robots.txt" +DOCS_SITEMAP="$DOCS_DIR/sitemap.xml" TIMESTAMP=$(date -u '+%Y-%m-%dT%H:%M:%SZ') -SCRIPT_VERSION="1.1" # Updated version for metadata enhancements -PRESERVE_META=${PRESERVE_META:-false} # Flag to preserve existing metadata (default: false) +SCRIPT_VERSION="1.2" # Updated version for /docs and Radicle fixes +PRESERVE_META=${PRESERVE_META:-false} # Flag to preserve existing metadata # URLs for each platform CANONICAL_URL="https://remember.thefoldwithin.earth/mrhavens/$REPO_NAME" @@ -27,7 +35,7 @@ BITBUCKET_URL="https://bitbucket.org/thefoldwithin/$REPO_NAME" FORGEJO_URL="https://remember.thefoldwithin.earth/mrhavens/$REPO_NAME" CODEBERG_URL="https://codeberg.org/mrhavens/$REPO_NAME" GITEA_URL="https://gitea.com/mrhavens/$REPO_NAME" -RADICLE_RID="rad:z3FEj7rF8gZw9eFksCuiN43qjzrex" +RADICLE_RID="rad:z3FEj7rF8gZw9eFksCuiN43qjzrex" # Fixed: removed rad:rad: RADICLE_PEER_ID="z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz" # Metadata configuration @@ -38,7 +46,7 @@ MIRRORS=( "$FORGEJO_URL" "$CODEBERG_URL" "$GITEA_URL" - "rad:$RADICLE_RID" + "$RADICLE_RID" # Fixed: use rad: prefix directly ) COMMIT_HASH=$(git -C "$REPO_PATH" rev-parse --short HEAD 2>/dev/null || echo "unknown") TREE_HASH=$(git -C "$REPO_PATH" rev-parse HEAD^{tree} 2>/dev/null || echo "unknown") @@ -153,6 +161,10 @@ The GitField framework employs a recursive, multi-repository strategy to defend The latest push operations are logged in [\`.gitfield/pushed.log\`](./pushed.log) for transparency and auditability. +## GitHub Pages + +A public-facing canonical declaration is available at [docs/index.html](./docs/index.html) for enhanced discoverability and SEO. + _Auto-generated by \`gitfield-sync\` at $TIMESTAMP (v$SCRIPT_VERSION)._ EOF git -C "$REPO_PATH" add "$CANONICAL_MD" @@ -239,7 +251,7 @@ The `.gitfield` directory contains metadata and logs for the GitField multi-repo ## Purpose -These files provide transparency, auditability, and discoverability, ensuring the project's persistence against deplatforming, censorship, or algorithmic manipulation. +These files provide transparency, auditability, and discoverability, ensuring the project's persistence against deplatforming, censorship, or algorithmic manipulation. For a public-facing declaration, see [docs/index.html](../docs/index.html). Generated by \`gitfield-sync\` at $TIMESTAMP (v$SCRIPT_VERSION). EOF @@ -248,11 +260,297 @@ EOF info "Generated and committed $readme_file" } +# โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +# โ”‚ DOCS DIRECTORY GENERATION โ”‚ +# โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +generate_docs_index() { + info "Generating $DOCS_INDEX..." + mkdir -p "$DOCS_DIR" + if [ "$PRESERVE_META" = "true" ] && [ -f "$DOCS_INDEX" ]; then + info "Preserving existing $DOCS_INDEX (--preserve-meta enabled)" + return + fi + cat > "$DOCS_INDEX" < + + + + + GitField Sovereign Canonical Repository: $REPO_NAME + + + + + + + + + +
+

GitField Sovereign Canonical Repository: $REPO_NAME

+
+
+
+

Canonical Declaration

+

This repository, $REPO_NAME, is canonically hosted at:

+

$CANONICAL_URL

+

Maintained by Mark Randall Havens and Solaria Lumis Havens, this canonical source ensures sovereignty and resilience against deplatforming, censorship, and algorithmic manipulation.

+
+
+

Mirror Repositories

+

The project is mirrored across multiple platforms for redundancy and accessibility:

+
    +$(for mirror in "${MIRRORS[@]}"; do + if [[ "$mirror" == rad:* ]]; then + echo "
  • Radicle: $mirror (Decentralized, censorship-resistant)
  • " + else + echo "
  • $mirror
  • " + fi +done) +
+
+
+

Metadata Manifest

+

Metadata for this project is available in:

+ +
+
+

Why Recursive Sovereignty Matters

+

The GitField framework distributes $REPO_NAME across decentralized (Radicle), self-hosted (Forgejo), and community-driven (Codeberg, Gitea) platforms, alongside mainstream services (GitHub, GitLab, Bitbucket). This recursive strategy defends against past deplatforming attempts by individuals such as Joel Johnson, Dr. Peter Gaied, and Andrew LeCody, ensuring the project's persistence and accessibility.

+
+
+

Source Links

+

Access the project's metadata and logs:

+ +
+
+
+

Mark Randall Havens & Solaria Lumis Havens ยท The Fold Within ยท 2025

+
+ + +EOF + git -C "$REPO_PATH" add "$DOCS_INDEX" + git -C "$REPO_PATH" commit -m "Generated docs/index.html at $TIMESTAMP" || warn "No changes to commit for $DOCS_INDEX" + info "Generated and committed $DOCS_INDEX" +} + +generate_docs_css() { + info "Generating $DOCS_CSS..." + mkdir -p "$DOCS_DIR" + if [ "$PRESERVE_META" = "true" ] && [ -f "$DOCS_CSS" ]; then + info "Preserving existing $DOCS_CSS (--preserve-meta enabled)" + return + fi + cat > "$DOCS_CSS" < "$DOCS_REPOS_JSON" < "$DOCS_README" < "$DOCS_ROBOTS" < "$DOCS_SITEMAP" < + + + $CANONICAL_URL + $TIMESTAMP + weekly + 1.0 + +$(for mirror in "${MIRRORS[@]}"; do + if [[ "$mirror" != rad:* ]]; then + echo " " + echo " $mirror" + echo " $TIMESTAMP" + echo " weekly" + echo " 0.8" + echo " " + fi +done) + +EOF + git -C "$REPO_PATH" add "$DOCS_SITEMAP" + git -C "$REPO_PATH" commit -m "Generated docs/sitemap.xml at $TIMESTAMP" || warn "No changes to commit for $DOCS_SITEMAP" + info "Generated and committed $DOCS_SITEMAP" +} + # โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ # โ”‚ INITIAL SETUP โ”‚ # โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ -mkdir -p "$GITFIELD_DIR" -mkdir -p "$WELL_KNOWN_DIR" +mkdir -p "$GITFIELD_DIR" "$WELL_KNOWN_DIR" "$DOCS_DIR" if [ ! -f "$LOG_FILE" ]; then echo "# Push Log for $REPO_NAME" > "$LOG_FILE" @@ -279,7 +577,7 @@ The \`$REPO_NAME\` project employs a multi-repository strategy across seven dist The following platforms host the \`$REPO_NAME\` repository, each chosen for its unique strengths and contributions to the project's goals. ### 1. Radicle -- **RID**: $RADICLE_RID +- **RID**: [$RADICLE_RID](https://app.radicle.xyz/nodes/$RADICLE_RID) - **Peer ID**: $RADICLE_PEER_ID - **Purpose**: Radicle is a decentralized, peer-to-peer git platform that ensures sovereignty and censorship resistance. It hosts the repository in a distributed network, independent of centralized servers. - **Value**: Protects against deplatforming by eliminating reliance on centralized infrastructure, ensuring the project remains accessible in a decentralized ecosystem. @@ -339,9 +637,9 @@ The decision to maintain multiple repositories stems from the need to safeguard - **Resilience**: If one platform removes or restricts access, or if search engines like Google delist content, the project remains accessible on other platforms and discoverable via alternative search engines such as Bing, DuckDuckGo, and Yahoo. - **Sovereignty**: Radicleโ€™s decentralized nature and Forgejoโ€™s self-hosted infrastructure ensure the project cannot be fully censored or controlled by any single entity. - **Diversity**: Each platformโ€™s unique features (e.g., GitHubโ€™s community, GitLabโ€™s CI/CD, Bitbucketโ€™s integrations, Radicleโ€™s decentralization, Forgejoโ€™s self-hosting, Codebergโ€™s community-driven model, Giteaโ€™s lightweight efficiency) enhance the projectโ€™s functionality and reach. -- **Transparency**: Metadata snapshots in the \`.gitfield\` directory provide a verifiable record of the projectโ€™s state across all platforms. +- **Transparency**: Metadata snapshots in the \`.gitfield\` directory and public-facing documentation in the \`/docs\` directory provide a verifiable record of the projectโ€™s state across all platforms. -This multi-repository approach, bolstered by Forgejoโ€™s sovereign hosting, reflects a commitment to preserving the integrity, accessibility, and independence of \`$REPO_NAME\`, ensuring it remains available to contributors and users regardless of external pressures. +This multi-repository approach, bolstered by Forgejoโ€™s sovereign hosting and GitHub Pagesโ€™ discoverability, reflects a commitment to preserving the integrity, accessibility, and independence of \`$REPO_NAME\`, ensuring it remains available to contributors and users regardless of external pressures. --- @@ -352,6 +650,7 @@ This multi-repository approach, bolstered by Forgejoโ€™s sovereign hosting, refl - **Well-Known Metadata**: SEO-friendly metadata with Schema.org JSON-LD is available in [\`.well-known/gitfield.json\`](./.well-known/gitfield.json). - **Push Log**: The \`.gitfield/pushed.log\` file records the date, time, commit hash, and RID/URL of every push operation across all platforms, providing a transparent audit trail. - **GitField Directory**: The \`.gitfield\` directory contains additional metadata and platform-specific sigils (e.g., \`github.sigil.md\`). See [\`.gitfield/README.txt\`](./.gitfield/README.txt) for details. +- **GitHub Pages**: A public-facing, SEO-optimized canonical declaration is available in [\`docs/index.html\`](./docs/index.html), with additional metadata in [\`docs/repos.json\`](./docs/repos.json) and a sitemap in [\`docs/sitemap.xml\`](./docs/sitemap.xml). - **Recursive Sync**: The repository is synchronized across all platforms in a recursive loop (three cycles) to ensure interconnected metadata captures the latest state of the project. - **Push Order**: The repository is synchronized in the following order: **Radicle โ†’ Forgejo โ†’ Codeberg โ†’ Gitea โ†’ GitLab โ†’ Bitbucket โ†’ GitHub**. This prioritizes Radicleโ€™s decentralized, censorship-resistant network as the primary anchor, followed by Forgejoโ€™s sovereign, self-hosted infrastructure, Codebergโ€™s community-driven platform, Giteaโ€™s lightweight efficiency, GitLabโ€™s robust DevOps features, Bitbucketโ€™s enterprise redundancy, and GitHubโ€™s broad visibility, ensuring a resilient and accessible metadata chain. @@ -359,7 +658,6 @@ This multi-repository approach, bolstered by Forgejoโ€™s sovereign hosting, refl _Auto-generated by \`gitfield-sync\` at $TIMESTAMP (v$SCRIPT_VERSION)._ EOF - git -C "$REPO_PATH" add "$GITFIELD_MD" git -C "$REPO_PATH" commit -m "Generated GITFIELD.md at $TIMESTAMP" || warn "No changes to commit for $GITFIELD_MD" info "Generated and committed $GITFIELD_MD" @@ -442,6 +740,13 @@ run_push_cycle() { generate_index_json generate_well_known_json generate_gitfield_readme + generate_docs_index + generate_docs_css + generate_docs_repos_json + generate_docs_readme + generate_docs_nojekyll + generate_docs_robots + generate_docs_sitemap } # โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ @@ -478,6 +783,13 @@ generate_canonical_md generate_index_json generate_well_known_json generate_gitfield_readme +generate_docs_index +generate_docs_css +generate_docs_repos_json +generate_docs_readme +generate_docs_nojekyll +generate_docs_robots +generate_docs_sitemap # Run push cycles run_push_cycle 1 @@ -492,3 +804,4 @@ info "๐Ÿ”— View canonical metadata: $CANONICAL_META" info "๐Ÿ”— View canonical declaration: $CANONICAL_MD" info "๐Ÿ”— View index manifest: $INDEX_JSON" info "๐Ÿ”— View well-known metadata: $WELL_KNOWN_JSON" +info "๐Ÿ”— View GitHub Pages: $DOCS_INDEX" diff --git a/bin/gitfield-sync-OLD3 b/bin/gitfield-sync-OLD3 new file mode 100755 index 0000000..98500d1 --- /dev/null +++ b/bin/gitfield-sync-OLD3 @@ -0,0 +1,494 @@ +#!/bin/bash +set -euo pipefail +IFS=$'\n\t' + +# โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +# โ”‚ CONFIGURATION โ”‚ +# โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +REPO_PATH=$(git rev-parse --show-toplevel 2>/dev/null) || error "Not inside a Git repository" +REPO_NAME=$(basename "$REPO_PATH") +GITFIELD_DIR="$REPO_PATH/.gitfield" +WELL_KNOWN_DIR="$REPO_PATH/.well-known" +LOG_FILE="$GITFIELD_DIR/pushed.log" +GITFIELD_MD="$REPO_PATH/GITFIELD.md" +CANONICAL_META="$GITFIELD_DIR/canonical.meta" +CANONICAL_MD="$GITFIELD_DIR/canonical.md" +INDEX_JSON="$GITFIELD_DIR/index.json" +WELL_KNOWN_JSON="$WELL_KNOWN_DIR/gitfield.json" +TIMESTAMP=$(date -u '+%Y-%m-%dT%H:%M:%SZ') +SCRIPT_VERSION="1.1" # Updated version for metadata enhancements +PRESERVE_META=${PRESERVE_META:-false} # Flag to preserve existing metadata (default: false) + +# URLs for each platform +CANONICAL_URL="https://remember.thefoldwithin.earth/mrhavens/$REPO_NAME" +GITHUB_URL="https://github.com/mrhavens/$REPO_NAME" +GITLAB_URL="https://gitlab.com/mrhavens/$REPO_NAME" +BITBUCKET_URL="https://bitbucket.org/thefoldwithin/$REPO_NAME" +FORGEJO_URL="https://remember.thefoldwithin.earth/mrhavens/$REPO_NAME" +CODEBERG_URL="https://codeberg.org/mrhavens/$REPO_NAME" +GITEA_URL="https://gitea.com/mrhavens/$REPO_NAME" +RADICLE_RID="rad:z3FEj7rF8gZw9eFksCuiN43qjzrex" +RADICLE_PEER_ID="z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz" + +# Metadata configuration +MIRRORS=( + "$GITHUB_URL" + "$GITLAB_URL" + "$BITBUCKET_URL" + "$FORGEJO_URL" + "$CODEBERG_URL" + "$GITEA_URL" + "rad:$RADICLE_RID" +) +COMMIT_HASH=$(git -C "$REPO_PATH" rev-parse --short HEAD 2>/dev/null || echo "unknown") +TREE_HASH=$(git -C "$REPO_PATH" rev-parse HEAD^{tree} 2>/dev/null || echo "unknown") +SYNC_CYCLES=0 + +# โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +# โ”‚ LOGGING UTILS โ”‚ +# โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +info() { echo -e "\e[1;34m[INFO]\e[0m $*" >&2; } +warn() { echo -e "\e[1;33m[WARN]\e[0m $*" >&2; } +error() { echo -e "\e[1;31m[ERROR]\e[0m $*" >&2; exit 1; } + +# โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +# โ”‚ SCRIPT LOOKUP FUNCTION โ”‚ +# โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +find_script() { + local script_name=$1 + local search_paths=( + "$HOME/.local/gitfieldbin" + "$HOME/.local/bin" + "$HOME/.local/gitfield" + "$HOME/.local/bin/gitfield" + "$HOME/.local/bin/gitfieldbin" + "$REPO_PATH/bin" + ) + + for path in "${search_paths[@]}"; do + if [ -f "$path/$script_name" ]; then + if [ -x "$path/$script_name" ]; then + if [[ "$path" != "$HOME"* && "$path" != "$REPO_PATH"* ]]; then + info "Using script: \e[1;31m$path/$script_name\e[0m (outside home or repo)" + else + info "Using script: $path/$script_name" + fi + echo "$path/$script_name" + return 0 + else + warn "Found $path/$script_name but it is not executable" + fi + fi + done + error "Script $script_name not found in any search path" +} + +# โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +# โ”‚ METADATA GENERATION โ”‚ +# โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +generate_canonical_meta() { + info "Generating $CANONICAL_META..." + if [ "$PRESERVE_META" = "true" ] && [ -f "$CANONICAL_META" ]; then + info "Preserving existing $CANONICAL_META (--preserve-meta enabled)" + return + fi + cat > "$CANONICAL_META" < "$CANONICAL_MD" < "$INDEX_JSON" < "$WELL_KNOWN_JSON" < "$readme_file" < "$LOG_FILE" + echo "# Generated by gitfield-sync" >> "$LOG_FILE" + echo "" >> "$LOG_FILE" +fi + +# โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +# โ”‚ GENERATE GITFIELD.MD โ”‚ +# โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +generate_gitfield_md() { + info "Generating $GITFIELD_MD..." + cat > "$GITFIELD_MD" </dev/null || echo "unknown") + local diff_summary=$(git -C "$REPO_PATH" diff --stat HEAD^ HEAD 2>/dev/null || echo "No diff available") + if [ "$platform" = "Radicle" ]; then + echo "[$timestamp] $platform: RID=$rid, Peer ID=$peer_id, Branch=$branch, Commit=$COMMIT_HASH" >> "$LOG_FILE" + echo " CLI: rad inspect $rid # View project details" >> "$LOG_FILE" + echo " CLI: git ls-tree -r --name-only HEAD # View file structure" >> "$LOG_FILE" + if [ -n "$diff_summary" ]; then + echo " Diff Summary:" >> "$LOG_FILE" + echo "$diff_summary" | sed 's/^/ /' >> "$LOG_FILE" + fi + info "Logged push to $LOG_FILE: [$timestamp] $platform: RID=$rid, Peer ID=$peer_id, Branch=$branch, Commit=$COMMIT_HASH" + else + echo "[$timestamp] $platform: $url, Branch=$branch, Commit=$COMMIT_HASH" >> "$LOG_FILE" + if [ -n "$diff_summary" ]; then + echo " Diff Summary:" >> "$LOG_FILE" + echo "$diff_summary" | sed 's/^/ /' >> "$LOG_FILE" + fi + info "Logged push to $LOG_FILE: [$timestamp] $platform: $url, Branch=$branch, Commit=$COMMIT_HASH" + fi +} + +# โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +# โ”‚ EXECUTE PUSH SCRIPT โ”‚ +# โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +execute_push() { + local script_name=$1 + local platform=$2 + local url=$3 + local rid=$4 + local peer_id=$5 + local script_path + script_path=$(find_script "$script_name") || error "Failed to find $script_name" + info "Executing $platform push with script: $script_path" + if [ -x "$script_path" ]; then + pushd "$REPO_PATH" >/dev/null + "$script_path" || warn "Execution of $script_path failed, continuing..." + log_url "$platform" "$url" "$rid" "$peer_id" + git add . || warn "Nothing to add after $script_path" + git commit -m "Post-$platform sync at $TIMESTAMP" || warn "No changes to commit after $script_path" + popd >/dev/null + else + error "Script $script_path is not executable" + fi +} + +# โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +# โ”‚ RECURSIVE PUSH LOOP โ”‚ +# โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +run_push_cycle() { + local cycle_number=$1 + info "Starting push cycle $cycle_number..." + SYNC_CYCLES=$cycle_number + + execute_push "gitfield-local" "Local" "" "" "" + execute_push "gitfield-radicle" "Radicle" "" "$RADICLE_RID" "$RADICLE_PEER_ID" + execute_push "gitfield-remember" "Forgejo" "$FORGEJO_URL" "" "" + execute_push "gitfield-codeberg" "Codeberg" "$CODEBERG_URL" "" "" + execute_push "gitfield-gitea" "Gitea" "$GITEA_URL" "" "" + execute_push "gitfield-gitlab" "GitLab" "$GITLAB_URL" "" "" + execute_push "gitfield-bitbucket" "Bitbucket" "$BITBUCKET_URL" "" "" + execute_push "gitfield-github" "GitHub" "$GITHUB_URL" "" "" + + # Regenerate metadata after each cycle to update sync_cycles + generate_canonical_meta + generate_canonical_md + generate_index_json + generate_well_known_json + generate_gitfield_readme +} + +# โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +# โ”‚ MAIN EXECUTION โ”‚ +# โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ +info "Starting gitfield-sync for $REPO_NAME..." + +# Parse --preserve-meta flag +while [ $# -gt 0 ]; do + case "$1" in + --preserve-meta) + PRESERVE_META=true + info "Preserve metadata flag enabled" + shift + ;; + *) + warn "Unknown argument: $1" + shift + ;; + esac +done + +if [ ! -d "$REPO_PATH/.git" ]; then + pushd "$REPO_PATH" >/dev/null + git init + git add . + git commit -m "Initial commit" || warn "Nothing to commit" + popd >/dev/null +fi + +# Generate initial metadata +generate_canonical_meta +generate_canonical_md +generate_index_json +generate_well_known_json +generate_gitfield_readme + +# Run push cycles +run_push_cycle 1 +generate_gitfield_md +run_push_cycle 2 +run_push_cycle 3 + +info "โœ… gitfield-sync completed successfully." +info "๐Ÿ”— View logs: $LOG_FILE" +info "๐Ÿ”— View multi-repo manifest: $GITFIELD_MD" +info "๐Ÿ”— View canonical metadata: $CANONICAL_META" +info "๐Ÿ”— View canonical declaration: $CANONICAL_MD" +info "๐Ÿ”— View index manifest: $INDEX_JSON" +info "๐Ÿ”— View well-known metadata: $WELL_KNOWN_JSON" diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..d84e59c --- /dev/null +++ b/docs/README.md @@ -0,0 +1,19 @@ +# GitField /docs Directory + +The directory hosts a public-facing, SEO-optimized canonical declaration for the `git-sigil` repository, designed for GitHub Pages compatibility and enhanced discoverability. + +## Files + +- **index.html**: The canonical declaration page, including JSON-LD metadata and links to all mirrors. +- **style.css**: Minimal stylesheet for elegant, recursive branding. +- **repos.json**: Machine-readable list of the canonical URL and all mirror repositories. +- **README.md**: This file, explaining the purpose of the directory. +- **.nojekyll**: Bypasses Jekyll processing for GitHub Pages. +- **robots.txt**: Allows full indexing by search engine bots. +- **sitemap.xml**: Auto-generated sitemap for improved SEO. + +## Purpose + +This directory ensures the `git-sigil` project is discoverable via search engines and accessible to humans and bots. It declares the canonical repository at [https://remember.thefoldwithin.earth/mrhavens/git-sigil](https://remember.thefoldwithin.earth/mrhavens/git-sigil) and links to all mirrors, reinforcing the GitField recursive metadata strategy for sovereign publishing. + +Generated by `gitfield-sync` at 2025-06-09T21:04:01Z (v1.2). diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..a1c24db --- /dev/null +++ b/docs/index.html @@ -0,0 +1,95 @@ + + + + + + GitField Sovereign Canonical Repository: git-sigil + + + + + + + + + +
+

GitField Sovereign Canonical Repository: git-sigil

+
+
+
+

Canonical Declaration

+

This repository, git-sigil, is canonically hosted at:

+

https://remember.thefoldwithin.earth/mrhavens/git-sigil

+

Maintained by Mark Randall Havens and Solaria Lumis Havens, this canonical source ensures sovereignty and resilience against deplatforming, censorship, and algorithmic manipulation.

+
+
+

Mirror Repositories

+

The project is mirrored across multiple platforms for redundancy and accessibility:

+ +
+
+

Metadata Manifest

+

Metadata for this project is available in:

+ +
+
+

Why Recursive Sovereignty Matters

+

The GitField framework distributes git-sigil across decentralized (Radicle), self-hosted (Forgejo), and community-driven (Codeberg, Gitea) platforms, alongside mainstream services (GitHub, GitLab, Bitbucket). This recursive strategy defends against past deplatforming attempts by individuals such as Joel Johnson, Dr. Peter Gaied, and Andrew LeCody, ensuring the project's persistence and accessibility.

+
+
+

Source Links

+

Access the project's metadata and logs:

+ +
+
+
+

Mark Randall Havens & Solaria Lumis Havens ยท The Fold Within ยท 2025

+
+ + diff --git a/docs/repos.json b/docs/repos.json new file mode 100644 index 0000000..17accbc --- /dev/null +++ b/docs/repos.json @@ -0,0 +1,16 @@ +{ + "canonical_url": "https://remember.thefoldwithin.earth/mrhavens/git-sigil", + "mirrors": [ + "https://github.com/mrhavens/git-sigil", + "https://gitlab.com/mrhavens/git-sigil", + "https://bitbucket.org/thefoldwithin/git-sigil", + "https://remember.thefoldwithin.earth/mrhavens/git-sigil", + "https://codeberg.org/mrhavens/git-sigil", + "https://gitea.com/mrhavens/git-sigil", + "rad:z3FEj7rF8gZw9eFksCuiN43qjzrex" + ], + "radicle": { + "rid": "rad:z3FEj7rF8gZw9eFksCuiN43qjzrex", + "peer_id": "z6Mkw5s3ppo26C7y7tGK5MD8n2GqTHS582PPpeX5Xqbu2Mpz" + } +} diff --git a/docs/robots.txt b/docs/robots.txt new file mode 100644 index 0000000..b27b184 --- /dev/null +++ b/docs/robots.txt @@ -0,0 +1,3 @@ +User-agent: * +Allow: / +Sitemap: /sitemap.xml diff --git a/docs/sitemap.xml b/docs/sitemap.xml new file mode 100644 index 0000000..7f6c21b --- /dev/null +++ b/docs/sitemap.xml @@ -0,0 +1,45 @@ + + + + https://remember.thefoldwithin.earth/mrhavens/git-sigil + 2025-06-09T21:04:01Z + weekly + 1.0 + + + https://github.com/mrhavens/git-sigil + 2025-06-09T21:04:01Z + weekly + 0.8 + + + https://gitlab.com/mrhavens/git-sigil + 2025-06-09T21:04:01Z + weekly + 0.8 + + + https://bitbucket.org/thefoldwithin/git-sigil + 2025-06-09T21:04:01Z + weekly + 0.8 + + + https://remember.thefoldwithin.earth/mrhavens/git-sigil + 2025-06-09T21:04:01Z + weekly + 0.8 + + + https://codeberg.org/mrhavens/git-sigil + 2025-06-09T21:04:01Z + weekly + 0.8 + + + https://gitea.com/mrhavens/git-sigil + 2025-06-09T21:04:01Z + weekly + 0.8 + + diff --git a/docs/style.css b/docs/style.css new file mode 100644 index 0000000..ea859bc --- /dev/null +++ b/docs/style.css @@ -0,0 +1,47 @@ +/* GitField Minimal Stylesheet for git-sigil */ +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + max-width: 800px; + margin: 0 auto; + padding: 2rem; + line-height: 1.6; + color: #333; + background: #fff; +} +header { + text-align: center; + border-bottom: 1px solid #eee; + padding-bottom: 1rem; + margin-bottom: 2rem; +} +h1, h2 { + color: #1a1a1a; +} +h1 { + font-size: 1.8rem; +} +h2 { + font-size: 1.4rem; + margin-top: 2rem; +} +a { + color: #0066cc; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +ul { + padding-left: 1.5rem; +} +code { + background: #f4f4f4; + padding: 0.2rem 0.4rem; + border-radius: 3px; +} +footer { + text-align: center; + margin-top: 3rem; + font-size: 0.9rem; + color: #666; +}