pressto 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 6638b7737d249c98f90985929f36e7c667d4da36b34832e723b99de94193932e
4
+ data.tar.gz: 7f43192670d78811762764af34f1ccfd14f5b0a0020a98762f48fafaf00919cc
5
+ SHA512:
6
+ metadata.gz: abca6a6f09fff3cd32ca3c29fab4ed3b610787383fab0072dc36b25efbbe043e22385ef6313944b5abd1f4134d2e33d37369b8c8940ac5a6c09ab775a9e2f246
7
+ data.tar.gz: 765bcf8bf635cf7e1fa64d9aedad1a4fb4ede42e5e10f5e9b12685f6c40eb049e9ca5bef7e90d75fc000c34ecdcee5965b113e884ce3c0ad1e96007aef8cae59
data/CHANGELOG.md ADDED
@@ -0,0 +1,12 @@
1
+ # Changelog
2
+
3
+ All notable changes to Pressto are documented here. Format loosely follows
4
+ [Keep a Changelog](https://keepachangelog.com/); this project uses [SemVer](https://semver.org/).
5
+
6
+ ## [0.0.1] - 2026-07-07
7
+
8
+ ### Added
9
+ - Reserve the `pressto` gem name on RubyGems.
10
+ - Establish the `Pressto` module namespace and error hierarchy
11
+ (`Pressto::Error`, `Pressto::GenerationError`).
12
+ - Project skeleton with RSpec, Rake, and RuboCop wiring.
data/README.md ADDED
@@ -0,0 +1,50 @@
1
+ # Pressto
2
+
3
+ **Deterministic puzzle & activity book generator for print-on-demand publishing.**
4
+
5
+ Pressto turns puzzle definitions into print-ready book interiors (Amazon KDP PDFs). It is the
6
+ generation engine behind the [Bright Grid Press](https://github.com/borisano/pressto) catalog.
7
+
8
+ > **Status: 0.0.x — name reservation.** This release establishes the gem name and the module
9
+ > namespace. The engines are being built test-first; see the roadmap below.
10
+
11
+ ## What it will do
12
+
13
+ One gem, many engines — each grouping the puzzle types that share generation machinery:
14
+
15
+ | Engine | Types | Notes |
16
+ |---|---|---|
17
+ | Grid search | word search, number search | themed word lists; language-independent number grids |
18
+ | Sudoku family | classic, killer, jigsaw, diagonal | one solver core, variant constraints |
19
+ | Kakuro | cross-sums | constraint-solver moat |
20
+ | Cryptogram | substitution ciphers | public-domain quote corpus |
21
+ | Maze | kids mazes (themed, masked) | provable difficulty grading |
22
+ | Math worksheet | color-by-number, drills | grade-banded, curriculum-checked |
23
+ | Crossword | fill-in (phase 1), codeword | uniqueness-proved |
24
+ | Bible content | verse cloze, who-said-it, memorization | retrieval-only from scripture text |
25
+ | Guided journal | keepsake / memory journals | prompt curation |
26
+ | Prompt content | would-you-rather, jokes, riddles | curated, screened |
27
+
28
+ Every generated puzzle is **software-verified**: solvable, uniquely solvable (where the type
29
+ requires it), difficulty-graded by a solving-technique simulator, deduplicated against a
30
+ registry, and screened for unfortunate content.
31
+
32
+ ## Design principles
33
+
34
+ - **Deterministic:** `generate(params, seed:)` is a pure function — same inputs produce a
35
+ byte-identical result. No wall-clock timeouts in generation logic.
36
+ - **Standard contract:** every engine emits the same JSON-serializable envelope.
37
+ - **TDD, always:** failing test first; edge cases are catalogued and each has a named test.
38
+
39
+ Full specifications and build order live in the project's `technical_planning/` documents.
40
+
41
+ ## Development
42
+
43
+ ```bash
44
+ bundle install
45
+ bundle exec rspec
46
+ ```
47
+
48
+ ## License
49
+
50
+ Proprietary — all rights reserved. Not licensed for redistribution.
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pressto
4
+ VERSION = "0.0.1"
5
+ end
data/lib/pressto.rb ADDED
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "pressto/version"
4
+
5
+ # Pressto — a deterministic generator for puzzle and activity book interiors,
6
+ # producing print-ready PDFs for Amazon KDP (and dual-listing on Etsy).
7
+ #
8
+ # This 0.0.x line reserves the gem name. The full engine set (word/number search,
9
+ # sudoku family, kakuro, cryptograms, mazes, math worksheets, fill-ins, Bible
10
+ # content, guided journals, prompt content) is specified in the project's
11
+ # technical_planning documents and is built test-first per IMPLEMENTATION_STANDARDS.
12
+ module Pressto
13
+ # Base class for all Pressto errors.
14
+ class Error < StandardError; end
15
+
16
+ # Raised when generation cannot produce a valid puzzle within its deterministic
17
+ # budget. Carries machine-readable context (reason, seed, params) so a failed
18
+ # book build is reproducible.
19
+ class GenerationError < Error; end
20
+ end
metadata ADDED
@@ -0,0 +1,51 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pressto
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Bright Grid Press
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies: []
12
+ description: 'Pressto generates print-ready puzzle and activity book interiors — word
13
+ search, number search, sudoku (classic, killer, jigsaw), kakuro, mazes, cryptograms,
14
+ fill-ins, math worksheets, and more — as Amazon KDP-ready PDFs. Every puzzle is
15
+ software-verified: solvable, uniquely solvable where applicable, difficulty-graded,
16
+ and deduplicated. This 0.0.x line reserves the name while the engines are built.'
17
+ email:
18
+ - borisano@gmail.com
19
+ executables: []
20
+ extensions: []
21
+ extra_rdoc_files: []
22
+ files:
23
+ - CHANGELOG.md
24
+ - README.md
25
+ - lib/pressto.rb
26
+ - lib/pressto/version.rb
27
+ homepage: https://github.com/borisano/pressto
28
+ licenses: []
29
+ metadata:
30
+ homepage_uri: https://github.com/borisano/pressto
31
+ source_code_uri: https://github.com/borisano/pressto
32
+ changelog_uri: https://github.com/borisano/pressto/blob/main/CHANGELOG.md
33
+ rubygems_mfa_required: 'true'
34
+ rdoc_options: []
35
+ require_paths:
36
+ - lib
37
+ required_ruby_version: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '3.1'
42
+ required_rubygems_version: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ requirements: []
48
+ rubygems_version: 3.6.7
49
+ specification_version: 4
50
+ summary: Deterministic puzzle and activity book generator for print-on-demand publishing.
51
+ test_files: []