Repository files navigation

R Triple B

A deterministic, auditable auction bidding engine.

Warning

RBBB is in its initial design phase. It is not production ready and must not be used to accept or resolve live bids.

R Triple B is an open-source project for specifying and implementing auction bidding behavior. The project separates the behavior of the standard from the language used by any one implementation:

  1. a language-neutral specification;
  2. a language-neutral conformance suite; and
  3. a production-quality Ruby reference implementation.

The first milestone is deliberately narrow: deterministic, timed online proxy bidding with a complete audit trail. Future auction formats will be proposed through RFCs rather than added as customer-specific hooks.

Why this project exists

Auction behavior is full of deceptively important edge cases. When two systems receive the same ordered commands under the same configuration, they should reach the same result and explain why. RBBB aims to make those rules explicit, portable, testable, and open to domain experts—not merely buried in one application's code.

Project shape

specification/ Language-neutral concepts, schemas, and API contracts
conformance/ Portable behavior scenarios for every compliant engine
ruby/engine/ Pure-Ruby reference implementation
ruby/server/ Future deployable reference service
rfcs/ Proposed changes to normative auction behavior
docs/ Architecture, terminology, and design decisions

The reference implementation exposes a pure decision boundary:

decision=engine.decide(current_state,command)new_state=engine.apply(current_state,decision.events)

Rails, PostgreSQL, HTTP, and real-time delivery may surround that core, but framework and persistence concerns do not belong inside the auction rules.

Current status

RFC 0001 defines the accepted timed online proxy-bidding baseline, backed by the language-neutral conformance suite. The Ruby reference engine runs every timed-proxy scenario in that suite. This completes the behavior exercised by the initial RFC suite, not the persistence, API, security, or operational work required for production. The matching command, event, rejection, configuration, and state schemas are experimental rather than a stable compatibility promise. Anything marked draft may still change before the first stable release.

See ROADMAP.md, docs/architecture.md, and specification/README.md for the planned path.

Evaluate the Ruby gem

The reference engine is packaged as the pre-stable rbbb gem. Install the current evaluation build from RubyGems.org with an exact prerelease version:

gem install rbbb --version 0.1.0.pre.3

To build the same version from a reviewed checkout:

cd ruby/engine
bundle exec rake package:verify
gem build rbbb.gemspec
gem install ./rbbb-0.1.0.pre.3.gem

This artifact is for evaluation and historical replay only. It is not a hosted service and must not be used to accept or resolve live bids. See the Ruby engine guide for installation and usage, or the GitHub releases for downloadable artifacts and checksums.

Contributing

Auctioneers, software operators, designers, security researchers, and developers are all invited to contribute. A real-world edge case expressed as a provenance-safe conformance scenario can be as valuable as code.

Before contributing, read CONTRIBUTING.md. Normative rule changes use the RFC process. Security issues should be reported privately as described in SECURITY.md. General support expectations are in SUPPORT.md.

License

RBBB is available under the MIT License. The specification, conformance materials, reference implementation, examples, and associated documentation in this repository use the same license unless a file says otherwise.

About

A deterministic, auditable auction bidding engine.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

R Triple B

A deterministic, auditable auction bidding engine.

Warning

RBBB is in its initial design phase. It is not production ready and must not be used to accept or resolve live bids.

R Triple B is an open-source project for specifying and implementing auction bidding behavior. The project separates the behavior of the standard from the language used by any one implementation:

  1. a language-neutral specification;
  2. a language-neutral conformance suite; and
  3. a production-quality Ruby reference implementation.

The first milestone is deliberately narrow: deterministic, timed online proxy bidding with a complete audit trail. Future auction formats will be proposed through RFCs rather than added as customer-specific hooks.

Why this project exists

Auction behavior is full of deceptively important edge cases. When two systems receive the same ordered commands under the same configuration, they should reach the same result and explain why. RBBB aims to make those rules explicit, portable, testable, and open to domain experts—not merely buried in one application's code.

Project shape

specification/ Language-neutral concepts, schemas, and API contracts
conformance/ Portable behavior scenarios for every compliant engine
ruby/engine/ Pure-Ruby reference implementation
ruby/server/ Future deployable reference service
rfcs/ Proposed changes to normative auction behavior
docs/ Architecture, terminology, and design decisions

The reference implementation exposes a pure decision boundary:

decision=engine.decide(current_state,command)new_state=engine.apply(current_state,decision.events)

Rails, PostgreSQL, HTTP, and real-time delivery may surround that core, but framework and persistence concerns do not belong inside the auction rules.

Current status

RFC 0001 defines the accepted timed online proxy-bidding baseline, backed by the language-neutral conformance suite. The Ruby reference engine runs every timed-proxy scenario in that suite. This completes the behavior exercised by the initial RFC suite, not the persistence, API, security, or operational work required for production. The matching command, event, rejection, configuration, and state schemas are experimental rather than a stable compatibility promise. Anything marked draft may still change before the first stable release.

See ROADMAP.md, docs/architecture.md, and specification/README.md for the planned path.

Evaluate the Ruby gem

The reference engine is packaged as the pre-stable rbbb gem. Install the current evaluation build from RubyGems.org with an exact prerelease version:

gem install rbbb --version 0.1.0.pre.3

To build the same version from a reviewed checkout:

cd ruby/engine
bundle exec rake package:verify
gem build rbbb.gemspec
gem install ./rbbb-0.1.0.pre.3.gem

This artifact is for evaluation and historical replay only. It is not a hosted service and must not be used to accept or resolve live bids. See the Ruby engine guide for installation and usage, or the GitHub releases for downloadable artifacts and checksums.

Contributing

Auctioneers, software operators, designers, security researchers, and developers are all invited to contribute. A real-world edge case expressed as a provenance-safe conformance scenario can be as valuable as code.

Before contributing, read CONTRIBUTING.md. Normative rule changes use the RFC process. Security issues should be reported privately as described in SECURITY.md. General support expectations are in SUPPORT.md.

License

RBBB is available under the MIT License. The specification, conformance materials, reference implementation, examples, and associated documentation in this repository use the same license unless a file says otherwise.

About

A deterministic, auditable auction bidding engine.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

R Triple B

A deterministic, auditable auction bidding engine.

Warning

RBBB is in its initial design phase. It is not production ready and must not be used to accept or resolve live bids.

R Triple B is an open-source project for specifying and implementing auction bidding behavior. The project separates the behavior of the standard from the language used by any one implementation:

  1. a language-neutral specification;
  2. a language-neutral conformance suite; and
  3. a production-quality Ruby reference implementation.

The first milestone is deliberately narrow: deterministic, timed online proxy bidding with a complete audit trail. Future auction formats will be proposed through RFCs rather than added as customer-specific hooks.

Why this project exists

Auction behavior is full of deceptively important edge cases. When two systems receive the same ordered commands under the same configuration, they should reach the same result and explain why. RBBB aims to make those rules explicit, portable, testable, and open to domain experts—not merely buried in one application's code.

Project shape

specification/ Language-neutral concepts, schemas, and API contracts
conformance/ Portable behavior scenarios for every compliant engine
ruby/engine/ Pure-Ruby reference implementation
ruby/server/ Future deployable reference service
rfcs/ Proposed changes to normative auction behavior
docs/ Architecture, terminology, and design decisions

The reference implementation exposes a pure decision boundary:

decision=engine.decide(current_state,command)new_state=engine.apply(current_state,decision.events)

Rails, PostgreSQL, HTTP, and real-time delivery may surround that core, but framework and persistence concerns do not belong inside the auction rules.

Current status

RFC 0001 defines the accepted timed online proxy-bidding baseline, backed by the language-neutral conformance suite. The Ruby reference engine runs every timed-proxy scenario in that suite. This completes the behavior exercised by the initial RFC suite, not the persistence, API, security, or operational work required for production. The matching command, event, rejection, configuration, and state schemas are experimental rather than a stable compatibility promise. Anything marked draft may still change before the first stable release.

See ROADMAP.md, docs/architecture.md, and specification/README.md for the planned path.

Evaluate the Ruby gem

The reference engine is packaged as the pre-stable rbbb gem. Install the current evaluation build from RubyGems.org with an exact prerelease version:

gem install rbbb --version 0.1.0.pre.3

To build the same version from a reviewed checkout:

cd ruby/engine
bundle exec rake package:verify
gem build rbbb.gemspec
gem install ./rbbb-0.1.0.pre.3.gem

This artifact is for evaluation and historical replay only. It is not a hosted service and must not be used to accept or resolve live bids. See the Ruby engine guide for installation and usage, or the GitHub releases for downloadable artifacts and checksums.

Contributing

Auctioneers, software operators, designers, security researchers, and developers are all invited to contribute. A real-world edge case expressed as a provenance-safe conformance scenario can be as valuable as code.

Before contributing, read CONTRIBUTING.md. Normative rule changes use the RFC process. Security issues should be reported privately as described in SECURITY.md. General support expectations are in SUPPORT.md.

License

RBBB is available under the MIT License. The specification, conformance materials, reference implementation, examples, and associated documentation in this repository use the same license unless a file says otherwise.

About

A deterministic, auditable auction bidding engine.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

R Triple B

A deterministic, auditable auction bidding engine.

Warning

RBBB is in its initial design phase. It is not production ready and must not be used to accept or resolve live bids.

R Triple B is an open-source project for specifying and implementing auction bidding behavior. The project separates the behavior of the standard from the language used by any one implementation:

  1. a language-neutral specification;
  2. a language-neutral conformance suite; and
  3. a production-quality Ruby reference implementation.

The first milestone is deliberately narrow: deterministic, timed online proxy bidding with a complete audit trail. Future auction formats will be proposed through RFCs rather than added as customer-specific hooks.

Why this project exists

Auction behavior is full of deceptively important edge cases. When two systems receive the same ordered commands under the same configuration, they should reach the same result and explain why. RBBB aims to make those rules explicit, portable, testable, and open to domain experts—not merely buried in one application's code.

Project shape

specification/ Language-neutral concepts, schemas, and API contracts
conformance/ Portable behavior scenarios for every compliant engine
ruby/engine/ Pure-Ruby reference implementation
ruby/server/ Future deployable reference service
rfcs/ Proposed changes to normative auction behavior
docs/ Architecture, terminology, and design decisions

The reference implementation exposes a pure decision boundary:

decision=engine.decide(current_state,command)new_state=engine.apply(current_state,decision.events)

Rails, PostgreSQL, HTTP, and real-time delivery may surround that core, but framework and persistence concerns do not belong inside the auction rules.

Current status

RFC 0001 defines the accepted timed online proxy-bidding baseline, backed by the language-neutral conformance suite. The Ruby reference engine runs every timed-proxy scenario in that suite. This completes the behavior exercised by the initial RFC suite, not the persistence, API, security, or operational work required for production. The matching command, event, rejection, configuration, and state schemas are experimental rather than a stable compatibility promise. Anything marked draft may still change before the first stable release.

See ROADMAP.md, docs/architecture.md, and specification/README.md for the planned path.

Evaluate the Ruby gem

The reference engine is packaged as the pre-stable rbbb gem. Install the current evaluation build from RubyGems.org with an exact prerelease version:

gem install rbbb --version 0.1.0.pre.3

To build the same version from a reviewed checkout:

cd ruby/engine
bundle exec rake package:verify
gem build rbbb.gemspec
gem install ./rbbb-0.1.0.pre.3.gem

This artifact is for evaluation and historical replay only. It is not a hosted service and must not be used to accept or resolve live bids. See the Ruby engine guide for installation and usage, or the GitHub releases for downloadable artifacts and checksums.

Contributing

Auctioneers, software operators, designers, security researchers, and developers are all invited to contribute. A real-world edge case expressed as a provenance-safe conformance scenario can be as valuable as code.

Before contributing, read CONTRIBUTING.md. Normative rule changes use the RFC process. Security issues should be reported privately as described in SECURITY.md. General support expectations are in SUPPORT.md.

License

RBBB is available under the MIT License. The specification, conformance materials, reference implementation, examples, and associated documentation in this repository use the same license unless a file says otherwise.

About

A deterministic, auditable auction bidding engine.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

R Triple B

A deterministic, auditable auction bidding engine.

Warning

RBBB is in its initial design phase. It is not production ready and must not be used to accept or resolve live bids.

R Triple B is an open-source project for specifying and implementing auction bidding behavior. The project separates the behavior of the standard from the language used by any one implementation:

  1. a language-neutral specification;
  2. a language-neutral conformance suite; and
  3. a production-quality Ruby reference implementation.

The first milestone is deliberately narrow: deterministic, timed online proxy bidding with a complete audit trail. Future auction formats will be proposed through RFCs rather than added as customer-specific hooks.

Why this project exists

Auction behavior is full of deceptively important edge cases. When two systems receive the same ordered commands under the same configuration, they should reach the same result and explain why. RBBB aims to make those rules explicit, portable, testable, and open to domain experts—not merely buried in one application's code.

Project shape

specification/ Language-neutral concepts, schemas, and API contracts
conformance/ Portable behavior scenarios for every compliant engine
ruby/engine/ Pure-Ruby reference implementation
ruby/server/ Future deployable reference service
rfcs/ Proposed changes to normative auction behavior
docs/ Architecture, terminology, and design decisions

The reference implementation exposes a pure decision boundary:

decision=engine.decide(current_state,command)new_state=engine.apply(current_state,decision.events)

Rails, PostgreSQL, HTTP, and real-time delivery may surround that core, but framework and persistence concerns do not belong inside the auction rules.

Current status

RFC 0001 defines the accepted timed online proxy-bidding baseline, backed by the language-neutral conformance suite. The Ruby reference engine runs every timed-proxy scenario in that suite. This completes the behavior exercised by the initial RFC suite, not the persistence, API, security, or operational work required for production. The matching command, event, rejection, configuration, and state schemas are experimental rather than a stable compatibility promise. Anything marked draft may still change before the first stable release.

See ROADMAP.md, docs/architecture.md, and specification/README.md for the planned path.

Evaluate the Ruby gem

The reference engine is packaged as the pre-stable rbbb gem. Install the current evaluation build from RubyGems.org with an exact prerelease version:

gem install rbbb --version 0.1.0.pre.3

To build the same version from a reviewed checkout:

cd ruby/engine
bundle exec rake package:verify
gem build rbbb.gemspec
gem install ./rbbb-0.1.0.pre.3.gem

This artifact is for evaluation and historical replay only. It is not a hosted service and must not be used to accept or resolve live bids. See the Ruby engine guide for installation and usage, or the GitHub releases for downloadable artifacts and checksums.

Contributing

Auctioneers, software operators, designers, security researchers, and developers are all invited to contribute. A real-world edge case expressed as a provenance-safe conformance scenario can be as valuable as code.

Before contributing, read CONTRIBUTING.md. Normative rule changes use the RFC process. Security issues should be reported privately as described in SECURITY.md. General support expectations are in SUPPORT.md.

License

RBBB is available under the MIT License. The specification, conformance materials, reference implementation, examples, and associated documentation in this repository use the same license unless a file says otherwise.

About

A deterministic, auditable auction bidding engine.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

R Triple B

A deterministic, auditable auction bidding engine.

Warning

RBBB is in its initial design phase. It is not production ready and must not be used to accept or resolve live bids.

R Triple B is an open-source project for specifying and implementing auction bidding behavior. The project separates the behavior of the standard from the language used by any one implementation:

  1. a language-neutral specification;
  2. a language-neutral conformance suite; and
  3. a production-quality Ruby reference implementation.

The first milestone is deliberately narrow: deterministic, timed online proxy bidding with a complete audit trail. Future auction formats will be proposed through RFCs rather than added as customer-specific hooks.

Why this project exists

Auction behavior is full of deceptively important edge cases. When two systems receive the same ordered commands under the same configuration, they should reach the same result and explain why. RBBB aims to make those rules explicit, portable, testable, and open to domain experts—not merely buried in one application's code.

Project shape

specification/ Language-neutral concepts, schemas, and API contracts
conformance/ Portable behavior scenarios for every compliant engine
ruby/engine/ Pure-Ruby reference implementation
ruby/server/ Future deployable reference service
rfcs/ Proposed changes to normative auction behavior
docs/ Architecture, terminology, and design decisions

The reference implementation exposes a pure decision boundary:

decision=engine.decide(current_state,command)new_state=engine.apply(current_state,decision.events)

Rails, PostgreSQL, HTTP, and real-time delivery may surround that core, but framework and persistence concerns do not belong inside the auction rules.

Current status

RFC 0001 defines the accepted timed online proxy-bidding baseline, backed by the language-neutral conformance suite. The Ruby reference engine runs every timed-proxy scenario in that suite. This completes the behavior exercised by the initial RFC suite, not the persistence, API, security, or operational work required for production. The matching command, event, rejection, configuration, and state schemas are experimental rather than a stable compatibility promise. Anything marked draft may still change before the first stable release.

See ROADMAP.md, docs/architecture.md, and specification/README.md for the planned path.

Evaluate the Ruby gem

The reference engine is packaged as the pre-stable rbbb gem. Install the current evaluation build from RubyGems.org with an exact prerelease version:

gem install rbbb --version 0.1.0.pre.3

To build the same version from a reviewed checkout:

cd ruby/engine
bundle exec rake package:verify
gem build rbbb.gemspec
gem install ./rbbb-0.1.0.pre.3.gem

This artifact is for evaluation and historical replay only. It is not a hosted service and must not be used to accept or resolve live bids. See the Ruby engine guide for installation and usage, or the GitHub releases for downloadable artifacts and checksums.

Contributing

Auctioneers, software operators, designers, security researchers, and developers are all invited to contribute. A real-world edge case expressed as a provenance-safe conformance scenario can be as valuable as code.

Before contributing, read CONTRIBUTING.md. Normative rule changes use the RFC process. Security issues should be reported privately as described in SECURITY.md. General support expectations are in SUPPORT.md.

License

RBBB is available under the MIT License. The specification, conformance materials, reference implementation, examples, and associated documentation in this repository use the same license unless a file says otherwise.

About

A deterministic, auditable auction bidding engine.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

R Triple B

A deterministic, auditable auction bidding engine.

Warning

RBBB is in its initial design phase. It is not production ready and must not be used to accept or resolve live bids.

R Triple B is an open-source project for specifying and implementing auction bidding behavior. The project separates the behavior of the standard from the language used by any one implementation:

  1. a language-neutral specification;
  2. a language-neutral conformance suite; and
  3. a production-quality Ruby reference implementation.

The first milestone is deliberately narrow: deterministic, timed online proxy bidding with a complete audit trail. Future auction formats will be proposed through RFCs rather than added as customer-specific hooks.

Why this project exists

Auction behavior is full of deceptively important edge cases. When two systems receive the same ordered commands under the same configuration, they should reach the same result and explain why. RBBB aims to make those rules explicit, portable, testable, and open to domain experts—not merely buried in one application's code.

Project shape

specification/ Language-neutral concepts, schemas, and API contracts
conformance/ Portable behavior scenarios for every compliant engine
ruby/engine/ Pure-Ruby reference implementation
ruby/server/ Future deployable reference service
rfcs/ Proposed changes to normative auction behavior
docs/ Architecture, terminology, and design decisions

The reference implementation exposes a pure decision boundary:

decision=engine.decide(current_state,command)new_state=engine.apply(current_state,decision.events)

Rails, PostgreSQL, HTTP, and real-time delivery may surround that core, but framework and persistence concerns do not belong inside the auction rules.

Current status

RFC 0001 defines the accepted timed online proxy-bidding baseline, backed by the language-neutral conformance suite. The Ruby reference engine runs every timed-proxy scenario in that suite. This completes the behavior exercised by the initial RFC suite, not the persistence, API, security, or operational work required for production. The matching command, event, rejection, configuration, and state schemas are experimental rather than a stable compatibility promise. Anything marked draft may still change before the first stable release.

See ROADMAP.md, docs/architecture.md, and specification/README.md for the planned path.

Evaluate the Ruby gem

The reference engine is packaged as the pre-stable rbbb gem. Install the current evaluation build from RubyGems.org with an exact prerelease version:

gem install rbbb --version 0.1.0.pre.3

To build the same version from a reviewed checkout:

cd ruby/engine
bundle exec rake package:verify
gem build rbbb.gemspec
gem install ./rbbb-0.1.0.pre.3.gem

This artifact is for evaluation and historical replay only. It is not a hosted service and must not be used to accept or resolve live bids. See the Ruby engine guide for installation and usage, or the GitHub releases for downloadable artifacts and checksums.

Contributing

Auctioneers, software operators, designers, security researchers, and developers are all invited to contribute. A real-world edge case expressed as a provenance-safe conformance scenario can be as valuable as code.

Before contributing, read CONTRIBUTING.md. Normative rule changes use the RFC process. Security issues should be reported privately as described in SECURITY.md. General support expectations are in SUPPORT.md.

License

RBBB is available under the MIT License. The specification, conformance materials, reference implementation, examples, and associated documentation in this repository use the same license unless a file says otherwise.

About

A deterministic, auditable auction bidding engine.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

R Triple B

A deterministic, auditable auction bidding engine.

Warning

RBBB is in its initial design phase. It is not production ready and must not be used to accept or resolve live bids.

R Triple B is an open-source project for specifying and implementing auction bidding behavior. The project separates the behavior of the standard from the language used by any one implementation:

  1. a language-neutral specification;
  2. a language-neutral conformance suite; and
  3. a production-quality Ruby reference implementation.

The first milestone is deliberately narrow: deterministic, timed online proxy bidding with a complete audit trail. Future auction formats will be proposed through RFCs rather than added as customer-specific hooks.

Why this project exists

Auction behavior is full of deceptively important edge cases. When two systems receive the same ordered commands under the same configuration, they should reach the same result and explain why. RBBB aims to make those rules explicit, portable, testable, and open to domain experts—not merely buried in one application's code.

Project shape

specification/ Language-neutral concepts, schemas, and API contracts
conformance/ Portable behavior scenarios for every compliant engine
ruby/engine/ Pure-Ruby reference implementation
ruby/server/ Future deployable reference service
rfcs/ Proposed changes to normative auction behavior
docs/ Architecture, terminology, and design decisions

The reference implementation exposes a pure decision boundary:

decision=engine.decide(current_state,command)new_state=engine.apply(current_state,decision.events)

Rails, PostgreSQL, HTTP, and real-time delivery may surround that core, but framework and persistence concerns do not belong inside the auction rules.

Current status

RFC 0001 defines the accepted timed online proxy-bidding baseline, backed by the language-neutral conformance suite. The Ruby reference engine runs every timed-proxy scenario in that suite. This completes the behavior exercised by the initial RFC suite, not the persistence, API, security, or operational work required for production. The matching command, event, rejection, configuration, and state schemas are experimental rather than a stable compatibility promise. Anything marked draft may still change before the first stable release.

See ROADMAP.md, docs/architecture.md, and specification/README.md for the planned path.

Evaluate the Ruby gem

The reference engine is packaged as the pre-stable rbbb gem. Install the current evaluation build from RubyGems.org with an exact prerelease version:

gem install rbbb --version 0.1.0.pre.3

To build the same version from a reviewed checkout:

cd ruby/engine
bundle exec rake package:verify
gem build rbbb.gemspec
gem install ./rbbb-0.1.0.pre.3.gem

This artifact is for evaluation and historical replay only. It is not a hosted service and must not be used to accept or resolve live bids. See the Ruby engine guide for installation and usage, or the GitHub releases for downloadable artifacts and checksums.

Contributing

Auctioneers, software operators, designers, security researchers, and developers are all invited to contribute. A real-world edge case expressed as a provenance-safe conformance scenario can be as valuable as code.

Before contributing, read CONTRIBUTING.md. Normative rule changes use the RFC process. Security issues should be reported privately as described in SECURITY.md. General support expectations are in SUPPORT.md.

License

RBBB is available under the MIT License. The specification, conformance materials, reference implementation, examples, and associated documentation in this repository use the same license unless a file says otherwise.

About

A deterministic, auditable auction bidding engine.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages