Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
240 changes: 132 additions & 108 deletions ABI-FFI-README.md → ABI-FFI-README.adoc

Large diffs are not rendered by default.

48 changes: 48 additions & 0 deletions ARCHITECTURE.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
== Architecture

=== Overview

This repository follows a modular, maintainable architecture designed
for clarity, scalability, and long-term sustainability.

=== Directory Structure

....
.
├── src/ # Source code
├── tests/ # Test suites
├── docs/ # Documentation
├── scripts/ # Utility scripts
├── config/ # Configuration files
├── LICENSE # License file
├── LICENSES/ # Full license texts
└── README.adoc # Project documentation
....

=== Design Principles

* *Separation of Concerns*: Each module has a single responsibility
* *Testability*: Code is written to be easily testable
* *Documentation*: All public APIs are documented
* *Configuration*: Environment-specific settings are externalized

=== Dependencies

* External dependencies are minimized and clearly declared
* Version pinning is used for reproducibility

=== Security Considerations

* Sensitive data is never committed to the repository
* Secrets are managed through environment variables or secure vaults
* Regular dependency audits are performed

=== Maintainability

* Code follows consistent style guidelines
* Pull requests require review and CI checks
* Issues and discussions are tracked transparently

'''''

_Last updated: 2026-07-18_
47 changes: 0 additions & 47 deletions ARCHITECTURE.md

This file was deleted.

65 changes: 65 additions & 0 deletions CHANGELOG.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
== Changelog

All notable changes to `+bgp-backbone-lab+` will be documented in this
file.

This file is generated from conventional commits by the
https://github.com/hyperpolymath/standards/blob/main/.github/workflows/changelog-reusable.yml[`+changelog-reusable.yml+`]
workflow (`+hyperpolymath/standards#206+`). Adopt the workflow in this
repo’s CI to keep this file in sync automatically — see
https://github.com/hyperpolymath/standards/blob/main/templates/cliff.toml[`+templates/cliff.toml+`]
for the canonical config.

The format follows https://keepachangelog.com/en/1.1.0/[Keep a
Changelog]; this project aims to follow
https://semver.org/spec/v2.0.0.html[Semantic Versioning].

=== [Unreleased]

==== Added

* feat: add FlatRacoon manifest, containerlab topology, and K8s job
* feat(ci): enable Hypatia scanning
* feat: initial scaffolding for BGP backbone lab

==== Fixed

* fix(licence): clear scaffold-placeholder leak (Tranche 2) (#38)
* fix(ci): sync hypatia-scan.yml to canonical (413:
env.HOME+Phase-2+SARIF) (#36)
* fix(ci): adopt canonical hypatia-scan.yml (env.HOME/scanner-layout +
Comment-step gate) (#34)
* fix(ci): Phase-2 fleet submission must not fail the security gate
(#33)
* fix(ci): hypatia-scan workdir ($\{\{ env.HOME }} resolves empty) (#32)
* fix(ci): move secret-scanner Cargo.toml gate from job-level if: to
step-level (#30)
* fix(codeql): switch language matrix to '`actions`' (no JS/TS in repo)
(#29)
* fix(ci): hypatia-scan.yml – pass GITHUB_TOKEN, use –exit-zero
(hyperpolymath/hypatia#213) (#27)
* fix(ci): update hypatia binary detection in hypatia-scan workflow
* fix: remove duplicate SCM files from root

==== Documentation

* docs(readme): add SPDX header and/or standard badges
* docs: add checkpoint files for state tracking

==== CI

* ci(secret-scanner): drop duplicate –fail from trufflehog extra_args
(#26)
* ci: bump actions/upload-artifact SHA to current v4 (#25)
* ci: fix workflow-linter YAML parse error + self-flag bug
* ci: fix workflow-linter self-flag bug

=== Pre-history

Prior commits to this file’s introduction are recorded in git history
but not formally classified into Keep-a-Changelog sections. To backfill,
run `+git cliff -o CHANGELOG.md+` locally using the canonical
https://github.com/hyperpolymath/standards/blob/main/templates/cliff.toml[`+cliff.toml+`]
— this is one-shot mechanical work.

'''''
58 changes: 0 additions & 58 deletions CHANGELOG.md

This file was deleted.

24 changes: 24 additions & 0 deletions CODE_OF_CONDUCT.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
== Contributor Covenant Code of Conduct

=== Our Pledge

We pledge to make participation a harassment-free experience for
everyone.

=== Our Standards

*Positive behavior:* * Using welcoming language * Being respectful of
differing viewpoints * Accepting constructive criticism * Focusing on
what is best for the community

*Unacceptable behavior:* * Harassment, trolling, or personal attacks *
Publishing private information without permission

=== Enforcement

Report issues to the maintainers. All complaints will be reviewed.

=== Attribution

Adapted from https://www.contributor-covenant.org/[Contributor Covenant]
v2.1.
27 changes: 0 additions & 27 deletions CODE_OF_CONDUCT.md

This file was deleted.

114 changes: 101 additions & 13 deletions CONTRIBUTING.adoc
Original file line number Diff line number Diff line change
@@ -1,20 +1,108 @@
// SPDX-License-Identifier: CC-BY-SA-4.0
= Contributing Guide
== Clone the repository

== Getting Started
git clone https://github.com/hyperpolymath/flatracoon.git cd flatracoon

1. Fork the repository
2. Create a feature branch from `main`
3. Sign off commits (`git commit -s`)
4. Submit a pull request
== Using Guix (recommended for reproducibility)

== Commit Guidelines
guix develop

* Conventional commits: `type(scope): description`
* Sign all commits (DCO required)
* Atomic, focused commits
== Or using toolbox/distrobox

== License
toolbox create flatracoon-dev toolbox enter flatracoon-dev # Install
dependencies manually

Contributions licensed under project license.
== Verify setup

just check # or: cargo check / mix compile / etc. just test # Run test
suite

....

### Repository Structure
....

flatracoon/ ├── src/ # Source code (Perimeter 1-2) ├── lib/ # Library
code (Perimeter 1-2) ├── extensions/ # Extensions (Perimeter 2) ├──
plugins/ # Plugins (Perimeter 2) ├── tools/ # Tooling (Perimeter 2) ├──
docs/ # Documentation (Perimeter 3) │ ├── architecture/ # ADRs, specs
(Perimeter 2) │ └── proposals/ # RFCs (Perimeter 3) ├── examples/ #
Examples (Perimeter 3) ├── spec/ # Spec tests (Perimeter 3) ├── tests/ #
Test suite (Perimeter 2-3) ├── .well-known/ # Protocol files (Perimeter
1-3) ├── .github/ # GitHub config (Perimeter 1) │ ├── ISSUE_TEMPLATE/ │
└── workflows/ ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├──
CONTRIBUTING.md # This file ├── GOVERNANCE.md ├── LICENSE ├──
MAINTAINERS.md ├── README.adoc ├── SECURITY.md ├── flake.guix # Guix
flake (Perimeter 1) └── Justfile # Task runner (Perimeter 1)

....

---

## How to Contribute

### Reporting Bugs

**Before reporting**:
1. Search existing issues
2. Check if it's already fixed in `main`
3. Determine which perimeter the bug affects

**When reporting**:

Use the [bug report template](.github/ISSUE_TEMPLATE/bug_report.md) and include:

- Clear, descriptive title
- Environment details (OS, versions, toolchain)
- Steps to reproduce
- Expected vs actual behaviour
- Logs, screenshots, or minimal reproduction

### Suggesting Features

**Before suggesting**:
1. Check the [roadmap](ROADMAP.md) if available
2. Search existing issues and discussions
3. Consider which perimeter the feature belongs to

**When suggesting**:

Use the [feature request template](.github/ISSUE_TEMPLATE/feature_request.md) and include:

- Problem statement (what pain point does this solve?)
- Proposed solution
- Alternatives considered
- Which perimeter this affects

### Your First Contribution

Look for issues labelled:

- [`good first issue`](https://github.com/hyperpolymath/flatracoon/labels/good%20first%20issue) — Simple Perimeter 3 tasks
- [`help wanted`](https://github.com/hyperpolymath/flatracoon/labels/help%20wanted) — Community help needed
- [`documentation`](https://github.com/hyperpolymath/flatracoon/labels/documentation) — Docs improvements
- [`perimeter-3`](https://github.com/hyperpolymath/flatracoon/labels/perimeter-3) — Community sandbox scope

---

## Development Workflow

### Branch Naming
....

docs/short-description # Documentation (P3) test/what-added # Test
additions (P3) feat/short-description # New features (P2)
fix/issue-number-description # Bug fixes (P2) refactor/what-changed #
Code improvements (P2) security/what-fixed # Security fixes (P1-2)

....

### Commit Messages

We follow [Conventional Commits](https://www.conventionalcommits.org/):
....

():

{empty}[optional body]

{empty}[optional footer]
Loading