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
6 changes: 3 additions & 3 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
git clone https://github.com/hyperpolymath/dictask.git
cd dictask

# Using Nix (recommended for reproducibility)
nix develop
# Using Guix (recommended for reproducibility)
guix develop

# Or using toolbox/distrobox
toolbox create dictask-dev
Expand Down Expand Up @@ -45,7 +45,7 @@ dictask/
├── MAINTAINERS.md
├── README.adoc
├── SECURITY.md
├── flake.nix # Nix flake — fallback (Perimeter 1)
├── flake.guix # Guix flake — fallback (Perimeter 1)
├── guix.scm # Guix package — primary (Perimeter 1)
└── Justfile # Task runner (Perimeter 1)
```
Expand Down
2 changes: 1 addition & 1 deletion .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@

## Banned Languages

- No TypeScript (use ReScript)
- No TypeScript (use AffineScript)
- No Node.js / npm / bun (use Deno)
- No Go (use Rust)
- No Python (use Julia or Rust)
Expand Down
4 changes: 2 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ updates:
schedule:
interval: "weekly"

# Nix flakes
- package-ecosystem: "nix"
# Guix flakes
- package-ecosystem: "guix"
directory: "/"
schedule:
interval: "weekly"
2 changes: 1 addition & 1 deletion .github/workflows/governance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# in hyperpolymath/standards instead of carrying per-repo copies.
#
# Replaces the per-repo governance scaffolding removed in the same commit:
# quality.yml, guix-nix-policy.yml, npm-bun-blocker.yml, ts-blocker.yml,
# quality.yml, guix-guix-policy.yml, npm-bun-blocker.yml, ts-blocker.yml,
# security-policy.yml, rsr-antipattern.yml, wellknown-enforcement.yml,
# workflow-linter.yml
#
Expand Down
2 changes: 1 addition & 1 deletion .machine_readable/6a2/META.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ perfective-source = "axis-1 honest state after corrective/adaptive updates"
[axis-3-audit-rules]
audit-focus = "systems in place, documentation explains actual state, safety/security accounted for, observed effects reviewed"
compliance-focus = "seams/compromises/exception register, bounded exceptions, anti-drift checks"
drift-risk-example = "single exception broadening into policy violation (e.g. ReScript->TypeScript spread)"
drift-risk-example = "single exception broadening into policy violation (e.g. AffineScript->TypeScript spread)"
effects-evidence = "benchmark execution/results and maintainer status dialogue/review"

[design-rationale]
Expand Down
6 changes: 3 additions & 3 deletions .machine_readable/ai/PLACEHOLDERS.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ sed -i "s/2026-03-16/$(date +%Y-%m-%d)/g" $(grep -rl '2026-03-16' .)

| Placeholder | Description | Example | Files |
|---|---|---|---|
| `Dictask` | Human-readable project name | `My Project` | SECURITY.md, CODE_OF_CONDUCT.md, TOPOLOGY.md, STATE.a2ml, Justfile, GOVERNANCE.md, MAINTAINERS.md, flake.nix, devcontainer.json |
| `{{PROJECT_DESCRIPTION}}` | One-line description | `A tool for X` | flake.nix |
| `Dictask` | Human-readable project name | `My Project` | SECURITY.md, CODE_OF_CONDUCT.md, TOPOLOGY.md, STATE.a2ml, Justfile, GOVERNANCE.md, MAINTAINERS.md, flake.guix, devcontainer.json |
| `{{PROJECT_DESCRIPTION}}` | One-line description | `A tool for X` | flake.guix |
| `{{PROJECT}}` | Uppercase identifier (for Idris2 modules, C macros) | `MY_PROJECT` | ABI-FFI-README.md, src/interface/abi/*.idr, src/interface/ffi/*.zig |
| `{{project}}` | Lowercase identifier (for C symbols, filenames) | `my_project` | ABI-FFI-README.md, src/interface/ffi/*.zig |
| `dictask` | Repository name (slug) | `my-project` | CONTRIBUTING.md, SECURITY.md, CODE_OF_CONDUCT.md, cliff.toml |
Expand Down Expand Up @@ -133,7 +133,7 @@ After replacing all placeholders, verify none remain:
```bash
grep -rn '{{' . --include='*.md' --include='*.adoc' --include='*.a2ml' \
--include='*.scm' --include='*.idr' --include='*.zig' --include='*.res' \
--include='Justfile' --include='*.nix' --include='*.toml' --include='*.yml' \
--include='Justfile' --include='*.guix' --include='*.toml' --include='*.yml' \
--include='*.yaml' --include='*.hs' --include='*.ncl' --include='*.txt' \
--include='*.json' --include='Containerfile' --include='dep5' \
| grep -v 'PLACEHOLDERS.md' | grep -v 'node_modules'
Expand Down
2 changes: 1 addition & 1 deletion .machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ compliance-seams-check = true
exception-register-required = true
exception-bounded-scope-required = true
policy-drift-contamination-check = true
example-drift-risk = "single TypeScript exception causing broad ReScript->TypeScript migration"
example-drift-risk = "single TypeScript exception causing broad AffineScript->TypeScript migration"
compliance-tooling = "panic-attack"
effects-tooling = "ecological checking with sustainabot guidance"

Expand Down
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.

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

All notable changes to this project will be documented in this file.

The format is based on https://keepachangelog.com/en/1.1.0/[Keep a
Changelog], and this project adheres to
https://semver.org/spec/v2.0.0.html[Semantic Versioning].

=== [Unreleased]
11 changes: 0 additions & 11 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.

91 changes: 55 additions & 36 deletions CONTRIBUTING.adoc
Original file line number Diff line number Diff line change
@@ -1,52 +1,71 @@
// SPDX-License-Identifier: CC-BY-SA-4.0
= Contributing to dictask
:toc: preamble
:icons: font
== Contributing

This document explains how to contribute to dictask. We follow a "Dual-Track"
Thank you for your interest in contributing! We follow a "`Dual-Track`"
architecture where human-readable documentation lives in the root and
machine-readable policies live in `.machine_readable/`.
machine-readable policies live in `+.machine_readable/+`.

== How to Contribute
=== How to Contribute

We welcome contributions in many forms:

* **Rust code:** Improving ingest, transcription, store, or review components.
* **Haskell parser:** Enhancing NLP task extraction patterns.
* **Idris2 proofs:** Strengthening formal verification of task schema.
* **Documentation:** Improving AsciiDoc manuals or AI manifests.
* **Testing:** Adding property-based tests or integration tests.
* *Code:* Improving the core stack or extensions
* *Documentation:* Enhancing docs or AI manifests
* *Testing:* Adding property-based tests or formal proofs
* *Bug reports:* Filing clear, reproducible issues

== Getting Started
=== Getting Started

1. **Read the AI Manifest:** Start with `0-AI-MANIFEST.a2ml` to understand the
repository structure.
2. **Environment:** Use `nix develop` or `direnv allow` to set up tools
(Rust, Haskell/GHC, Idris2, Zig).
3. **Task Runner:** Use `just` to see available commands (`just --list`).
[arabic]
. *Read the AI Manifest:* Start with `+0-AI-MANIFEST.a2ml+` (if present)
to understand the repository structure.
. *Environment:* Use `+guix develop+` or `+direnv allow+` to set up your
tools.
. *Task Runner:* Use `+just+` to see available commands
(`+just --list+`).

== Language Policy
=== Development Workflow

[cols="1,2"]
|===
| Allowed | Use Case
==== Branch Naming

| Rust | Ingest, transcription, store, review, CLI
| Haskell | NLP parsing (megaparsec)
| Idris2 | ABI definitions, formal proofs
| Zig | FFI bridge
| Bash | Scripts, automation
|===
....
docs/short-description # Documentation
test/what-added # Test additions
feat/short-description # New features
fix/issue-number-description # Bug fixes
refactor/what-changed # Code improvements
security/what-fixed # Security fixes
....

**Not allowed:** Python, TypeScript, Node.js, Go, Java.
==== Commit Messages

== Contribution Policies
We follow https://www.conventionalcommits.org/[Conventional Commits]:

For detailed rules on branch naming, commit messages, and the PR process,
please refer to the machine-readable manual at
link:.github/CONTRIBUTING.md[CONTRIBUTING.md].
....
<type>(<scope>): <description>

== Code of Conduct
[optional body]

All contributors are expected to adhere to our ethical standards.
See link:.github/CODE_OF_CONDUCT.md[CODE_OF_CONDUCT.md] for details.
[optional footer]
....

Types: `+feat+`, `+fix+`, `+docs+`, `+test+`, `+refactor+`, `+ci+`,
`+chore+`, `+security+`

=== Reporting Bugs

Before reporting: 1. Search existing issues 2. Check if it’s already
fixed in `+main+`

When reporting, include: - Clear, descriptive title - Environment
details (OS, versions, toolchain) - Steps to reproduce - Expected vs
actual behaviour

=== Code of Conduct

All contributors are expected to adhere to our
link:CODE_OF_CONDUCT.md[Code of Conduct].

=== License

By contributing, you agree that your contributions will be licensed
under the same license as the project (see LICENSE).
Loading
Loading